path: root/
AgeCommit message (Collapse)Author
2006-05-19Include ref log detail in commit, reset, etc.Shawn Pearce
When updating a ref at the direction of the user include a reason why head was changed as part of the ref log (assuming it was enabled). Signed-off-by: Shawn O. Pearce <> Signed-off-by: Junio C Hamano <>
2006-05-14Simplify "git reset --hard"Linus Torvalds
Now that the one-way merge strategy does the right thing wrt files that do not exist in the result, just remove all the random crud we did in "git reset" to do this all by hand. Instead, just pass in "-u" to git-read-tree when we do a hard reset, and depend on git-read-tree to update the working tree appropriately. This basically means that git reset turns into # Always update the HEAD ref git update-ref HEAD "$rev" case "--soft" # do nothing to index/working tree case "--hard" # read index _and_ update working tree git-read-tree --reset -u "$rev" case "--mixed" # update just index, report on working tree differences git-read-tree --reset "$rev" git-update-index --refresh which is what it was always semantically doing, it just did it in a rather strange way because it was written to not expect git-read-tree to do anything to the working tree. Signed-off-by: Linus Torvalds <> Signed-off-by: Junio C Hamano <>
2006-02-18Make git-reset delete empty directoriesShawn Pearce
When git-reset --hard is used and a subdirectory becomes empty (as it contains no tracked files in the target tree) the empty subdirectory should be removed. This matches the behavior of git-checkout-index and git-read-tree -m which would not have created the subdirectory or would have deleted it when updating the working directory. Subdirectories which are not empty will be left behind. This may happen if the subdirectory still contains object files from the user's build process (for example). [jc: simplified the logic a bit, while keeping the test script.]
2006-02-07git-rerere: reuse recorded resolve.Junio C Hamano
In a workflow that employs relatively long lived topic branches, the developer sometimes needs to resolve the same conflict over and over again until the topic branches are done (either merged to the "release" branch, or sent out and accepted upstream). This commit introduces a new command, "git rerere", to help this process by recording the conflicted automerge results and corresponding hand-resolve results on the initial manual merge, and later by noticing the same conflicted automerge and applying the previously recorded hand resolution using three-way merge. Signed-off-by: Junio C Hamano <>
2006-01-06use GIT_DIR instead of /var/tmpAlex Riesen
Not every system (will not one microsoft windows system) have /var/tmp, whereas using GIT_DIR for random temporary files is more or less established. Signed-off-by: Alex Riesen <> Signed-off-by: Junio C Hamano <>
2005-12-14Trivial usage string
Signed-off-by: Fredrik Kuivinen <> Signed-off-by: Junio C Hamano <>
2005-11-25git-sh-setup: die if outside git repository.Junio C Hamano
Now all the users of this script detect its exit status and die, complaining that it is outside git repository. So move the code that dies from all callers to git-sh-setup script. Signed-off-by: Junio C Hamano <>
2005-10-29Add usage help for
Signed-off-by: Chris Shoemaker <c.shoemaker at> Signed-off-by: Junio C Hamano <>
2005-09-28Use git-update-ref in scripts.Junio C Hamano
This uses the git-update-ref command in scripts for safer updates. Also places where we used to read HEAD ref by using "cat" were fixed to use git-rev-parse. This will matter when we start using symbolic references. Signed-off-by: Junio C Hamano <>
2005-09-24Remove use of 'xargs -0' from git-reset.Junio C Hamano
Even without the trouble it causes to people without GNU xargs, it was not really necessary to print from Perl and then remove it outside. Just unlink it inside Perl. Signed-off-by: Junio C Hamano <>
2005-09-09Squelch `removal' message from 'git reset --hard'.Junio C Hamano
We do not say anything about checking out, so mentioning removal only gets unnecessarily alarming. Signed-off-by: Junio C Hamano <>
2005-09-08Big tool rename.Junio C Hamano
As promised, this is the "big tool rename" patch. The primary differences since 0.99.6 are: (1) git-*-script are no more. The commands installed do not have any such suffix so users do not have to remember if something is implemented as a shell script or not. (2) Many command names with 'cache' in them are renamed with 'index' if that is what they mean. There are backward compatibility symblic links so that you and Porcelains can keep using the old names, but the backward compatibility support is expected to be removed in the near future. Signed-off-by: Junio C Hamano <>