summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-02-21cherry-pick/revert: error-help message rewording.Libravatar Junio C Hamano1-2/+3
It said "after fixing up, commit the result using -F .msg", but it was not clear for new people how "fix up" should be done. Hint "git-update-index <path>". We could recommend "git commit -a -F .msg" instead, but I am hesitant to give that suggestion in the blind -- you could do a cherry-pick, revert or a merge in general in a dirty working tree as long as local modifications do not overlap with the merge, but using "commit -a" would include them in the result. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20Fix fmt-merge-msg counting.Libravatar Junio C Hamano1-3/+3
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20git-svn: 0.9.1: add --version and copyright/license (GPL v2+) informationLibravatar Eric Wong1-2/+11
Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20contrib/git-svn: add Makefile, test, and associated ignoresLibravatar Eric Wong4-0/+252
Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20git-svn: fix several corner-case and rare bugs with 'commit'Libravatar Eric Wong1-60/+200
None of these were really show-stoppers (or even triggered) on most of the trees I've tracked. * Node change prevention for identically named nodes. This is a limitation of SVN, but we find the error and exit before it's passed to SVN so we don't dirty our working tree when our commit fails. git-svn will exit with an error code 1 if any of the following conditions are found: 1. a directory is removed and a file of the same name of the removed directory is created 1a. a file has its parent directory removed and the file is takes the name of the removed parent directory:: baz/zzz => baz 2. a file is removed and a directory of the same name of the removed file is created. 2a. a file is moved into a deeper directory that shares the previous name of the file:: dir/$file => dir/file/$file Since SVN cannot handle these cases, the user will have to manually split the commit into several parts. * --rmdir now handles nested/deep removals. If dir/a/b/c/d/e/file is removed, and everything else is in the dir/ hierarchy is otherwise empty, then dir/ will be deleted when file is deleted from svn and --rmdir specified. * Always assert that we have written the tree we want to write on commits. This helped me find several bugs in the symlink handling code (which as been fixed). * Several symlink handling fixes. We now refuse to set permissions on symlinks. We also always unlink a file if we're going to overwrite it. * Apply changes in a pre-determined order, so we always have rename from locations handy before we delete them. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20contrib/git-svn.txt: add a note about renamed/copied directory supportLibravatar Eric Wong1-0/+7
Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20git-svn: change ; to && in addremove()Libravatar Eric Wong1-2/+2
Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20git-svn: remove any need for the XML::Simple dependencyLibravatar Eric Wong1-49/+35
XML::Simple was originally required back when I made svn-arch-mirror because I needed to explictly track renames with Arch. Then I carried it over to git-svn because I was afraid somebody could commit an svn log message that could throw off a non-XML log parser. Then I noticed the <n> lines column in the header. So, no more XML :) Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20git-svn: Allow for more argument types for commit (from..to)Libravatar Eric Wong2-4/+11
Allow 'from..to' notation from the command line. More liberal sha1 parsing when reading from stdin no longer requires the sha1 to be the first character, so a leading 'commit ' string is OK. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20git-svn: allow --find-copies-harder and -l<num> to be passed on commitLibravatar Eric Wong2-2/+15
Both of these options are passed directly to git-diff-tree when committing to a SVN repository. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-20git-svn: fix a typo in defining the --no-stop-on-copy optionLibravatar Eric Wong1-1/+1
Just a typo, I doubt anybody would use (and I highly recommend not using) this option anyways. But you never know... Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-19Merge branch 'jc/merge-msg'Libravatar Junio C Hamano1-11/+19
* jc/merge-msg: fmt-merge-msg: do not add excess newline at the end. fmt-merge-msg: say which branch things were merged into unless 'master'
2006-02-19Merge branch 'jc/mv'Libravatar Junio C Hamano1-0/+9
* jc/mv: Allow git-mv to accept ./ in paths.
2006-02-19fmt-merge-msg: do not add excess newline at the end.Libravatar Junio C Hamano1-0/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-19Documentation: fix typo in rev-parse --short option description.Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-18Allow git-mv to accept ./ in paths.Libravatar Junio C Hamano1-0/+9
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-18Merge fixes up to GIT 1.2.2Libravatar Junio C Hamano10-33/+122
2006-02-18fmt-merge-msg: say which branch things were merged into unless 'master'Libravatar Junio C Hamano1-11/+18
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-18Fix retries in git-cvsimportLibravatar Martin Mares1-8/+5
Fixed a couple of bugs in recovering from broken connections: The _line() method now returns undef correctly when the connection is broken instead of falling off the function and returning garbage. Retries are now reported to stderr and the eventual partially downloaded file is discarded instead of being appended to. The "Server gone away" test has been removed, because it was reachable only if the garbage return bug bit. Signed-off-by: Martin Mares <mj@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-18archimport: remove files from the index before adding/updatingLibravatar Eric Wong1-15/+13
This fixes a bug when importing where a directory gets removed/renamed but is immediately replaced by a file of the same name in the same changeset. This fix only applies to the accurate (default) strategy the moment. This patch should also fix the fast strategy if/when it is updated to handle the cases that would've triggered this bug. This bug was originally found in git-svn, but I remembered I did the same thing with archimport as well. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-18Add an Emacs interface in contrib.Libravatar Alexandre Julliard1-0/+956
This is an Emacs interface for git. The user interface is modeled on pcl-cvs. It has been developed on Emacs 21 and will probably need some tweaking to work on XEmacs. The basic command is 'M-x git-status' which displays a buffer listing modified files in the selected project tree. In that buffer the following features are supported: - add/remove files - list unknown files - commit marked files - manage .gitignore - commit merges based on MERGE_HEAD - revert files to the HEAD version - resolve conflicts with smerge or ediff - diff files against HEAD/base/mine/other or combined diff - get a log of the revisions for specified files There are plenty of unimplemented features too, see the TODO list at the top of the file... Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-18Merge branch 'jc/topo'Libravatar Junio C Hamano5-9/+29
* jc/topo: topo-order: make --date-order optional.
2006-02-18Merge branch 'jc/rebase-limit'Libravatar Junio C Hamano1-18/+71
* jc/rebase-limit: rebase: allow rebasing onto different base.
2006-02-18gitview: typofixLibravatar Aneesh Kumar K.V1-1/+1
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com>
2006-02-18git-svn: remove files from the index before adding/updatingLibravatar Eric Wong1-6/+5
This fixes a bug when importing where a directory gets removed/renamed but is immediately replaced by a file of the same name in the same revision. Signed-off-by: Eric Wong <normalperson@yhbt.net>
2006-02-17Make git-reset delete empty directoriesLibravatar Shawn Pearce2-0/+66
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-17Document --short and --git-dir in git-rev-parse(1)Libravatar Jonas Fonseca1-0/+8
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
2006-02-17git-rev-parse: Fix --short= option parsingLibravatar Jonas Fonseca1-3/+3
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
2006-02-17Prevent git-upload-pack segfault if object cannot be foundLibravatar Carl Worth2-1/+6
Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17Abstract test_create_repo out for use in tests.Libravatar Carl Worth1-6/+17
Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17Trap exit to clean up created directory if clone fails.Libravatar Carl Worth1-0/+4
Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17SubmittingPatches: note on whitespacesLibravatar Junio C Hamano1-11/+19
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17Add a README for gitviewLibravatar Aneesh Kumar K.V1-0/+38
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17Add contrib/README.Libravatar Junio C Hamano1-0/+44
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17git-tag: -l to list tags (usability).Libravatar Junio C Hamano2-2/+22
git-tag -l lists all tags, and git-tag -l <pattern> filters the result with <pattern>. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17Add contrib/gitview from Aneesh.Libravatar Aneesh Kumar1-0/+992
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17git-svn: ensure fetch always works chronologically.Libravatar Eric Wong1-3/+4
We run svn log against a URL without a working copy for the first fetch, so we end up a log that's sorted from highest to lowest. That's bad, we always want lowest to highest. Just default to --revision 0:HEAD now if -r isn't specified for the first fetch. Also sort the revisions after we get them just in case somebody accidentally reverses the argument to --revision for whatever reason. Thanks again to Emmanuel Guerin for helping me find this. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-17git-svn: fix revision order when XML::Simple is not loadedLibravatar Eric Wong1-3/+3
Thanks to Emmanuel Guerin for finding the bug. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-16Introducing contrib/git-svn.Libravatar Eric Wong2-0/+978
2006-02-16Allow building Git in systems without iconvLibravatar Fernando J. Pereda2-0/+10
Systems using some uClibc versions do not properly support iconv stuff. This patch allows Git to be built on those systems by passing NO_ICONV=YesPlease to make. The only drawback is mailinfo won't do charset conversion in those systems. Signed-off-by: Fernando J. Pereda <ferdy@gentoo.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-15topo-order: make --date-order optional.Libravatar Junio C Hamano5-9/+29
This adds --date-order to rev-list; it is similar to topo order in the sense that no parent comes before all of its children, but otherwise things are still ordered in the commit timestamp order. The same flag is also added to show-branch. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-15Merge branch 'jc/add'Libravatar Junio C Hamano1-0/+11
* jc/add: Detect misspelled pathspec to git-add
2006-02-15Merge fixes up to 1.2.1Libravatar Junio C Hamano3-6/+22
2006-02-15More useful/hinting error messages in git-checkoutLibravatar Josef Weidendorfer1-3/+10
Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-15Print an error if cloning a http repo and NO_CURL is setLibravatar Fernando J. Pereda2-1/+8
If Git is compiled with NO_CURL=YesPlease and one tries to clone a http repository, git-clone tries to call the curl binary. This trivial patch prints an error instead in such situation. Signed-off-by: Fernando J. Pereda <ferdy@gentoo.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-15packed objects: minor cleanupLibravatar Junio C Hamano3-5/+5
The delta depth is unsigned. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-15Detect misspelled pathspec to git-addLibravatar Junio C Hamano1-0/+11
This is in the same spirit as an earlier patch for git-commit. It does an extra ls-files to avoid complaining when a fully tracked directory name is given on the command line (otherwise --others restriction would say the pathspec does not match). Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-15ls-files --error-unmatch pathspec error reporting fix.Libravatar Junio C Hamano1-1/+1
Earlier patch mistakenly used prefix_len when it meant prefix_offset. The latter is to strip the leading directories when run from a subdirectory. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-14Merge branch 'kh/svn'Libravatar Junio C Hamano2-3/+8
* kh/svn: git-svnimport: -r adds svn revision number to commit messages
2006-02-14Merge branch 'jc/commit'Libravatar Junio C Hamano4-18/+60
* jc/commit: commit: detect misspelled pathspec while making a partial commit. combine-diff: diff-files fix (#2) combine-diff: diff-files fix.