Checkin reports success but really needs merge

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
jdavidi
Posts: 48
Joined: Thu Jul 06, 2006 1:29 pm

Checkin reports success but really needs merge

Post by jdavidi » Fri Aug 25, 2006 9:37 am

Greetings!

Using v3.5.

We have an automated build script utilizing the Vault command line that, after determining if a change has taken place in a folder, checks out a file, updates a compatibility string, and then checks the file in. The file checks out fine:

<vault>
<!-- Checked out: $/lti/dev/tracer/src/idl/types/AppVersion.idl -->
<result success="yes" />
</vault>

The change is made successfully to the local copy of AppVersion.idl, but this is the result of the checkin:
<vault>
<changeset />
<result success="yes" />
</vault>

Looking in the Vault client, it ended up that the status of the file was "needs merge" (which was fine given the situation).

Brought about a few questions though:
The "checkin" step showing a success threw me off a bit, because the file wasn't actually checked in. Is there any way, through the command-line, to determine the status of a file following a checkin to determine if it is in "needs merge", "edited", etc. status? Or is there any option I'm not yet aware of (server or client) that would make a checkin report a success of "no" if this need to merge arises?

Thanks much!

--jdavidi

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Aug 25, 2006 9:48 pm

Looking in the Vault client, it ended up that the status of the file was "needs merge" (which was fine given the situation).
Was the command line client using the same user account and working directory as when you logged in with the Vault GUI Client? File status is determine by the state of user's working folder. If you log in as a different user or use a different working folder for the CLC, the Vault Client file status isn't relevant to the CLC's results.
Linda Bauer
SourceGear
Technical Support Manager

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Mon Aug 28, 2006 8:15 am

I was able to reproduce the situation you reported. If you have files in the pending in the change set, the CLC will list the files checked in, along with the "success='yes'".

However, Vault will not checkin a file with a Needs Merge status. The merge status needs to be resolved first. If you are trying to checkin one file with Needs Merge status, then you have an empty change set -- the transaction will be successful, but there were no files to checked in.

The command line client currently does not show file status; however, we'll log a feature request and try to include this capability in our next release.
Linda Bauer
SourceGear
Technical Support Manager

jdavidi
Posts: 48
Joined: Thu Jul 06, 2006 1:29 pm

Post by jdavidi » Tue Aug 29, 2006 10:33 am

Thanks for the info!

I'll throw the check for the empty changeset into my build script to get the info I'm looking for.

Thanks for the feature request; I envision using that not just upon checkins, but for overall repository health checks as well.

Cheers,

--jdavidi

Post Reply