summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-02-21Merge branch 'jc/pack-reuse'Libravatar Junio C Hamano6-73/+442
* jc/pack-reuse: pack-objects: avoid delta chains that are too long. git-repack: allow passing a couple of flags to pack-objects. pack-objects: finishing touches. pack-objects: reuse data from existing packs.
2006-02-21Merge branch 'jc/nostat'Libravatar Junio C Hamano16-27/+222
* jc/nostat: cache_name_compare() compares name and stage, nothing else. "assume unchanged" git: documentation. ls-files: split "show-valid-bit" into a different option. "Assume unchanged" git: --really-refresh fix. ls-files: debugging aid for CE_VALID changes. "Assume unchanged" git: do not set CE_VALID with --refresh "Assume unchanged" git
2006-02-21Merge branch 'js/portable'Libravatar Junio C Hamano2-33/+50
* js/portable: Fix "gmake -j" Really honour NO_PYTHON avoid makefile override warning Fixes for ancient versions of GNU make
2006-02-21gitview: Use monospace font to draw the branch and tag nameLibravatar aneesh.kumar@gmail.com1-4/+6
This patch address the below: Use monospace font to draw branch and tag name set the font size to 13. Make the graph column resizable. This helps to accommodate large tag names Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21gitview: Read tag and branch information using git ls-remoteLibravatar aneesh.kumar@gmail.com1-36/+14
This fix the below bug Junio C Hamano <junkio@cox.net> writes: > > It does not work in my repository, since you do not seem to > handle branch and tag names with slashes in them. All of my > topic branches live in directories with two-letter names > (e.g. ak/gitview). Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21git-ls-files: Fix, document, and add test for --error-unmatch option.Libravatar Carl Worth3-0/+33
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21Fix typo in git-rebase.sh.Libravatar Jason Riedy1-1/+1
s/upsteram/upstream in git-rebase.sh. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21New test to verify that when git-clone fails it cleans up the new directory.Libravatar Carl Worth1-0/+36
Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21Merge branch 'pj/portable'Libravatar Junio C Hamano1-6/+8
* pj/portable: Makefile tweaks: Solaris 9+ dont need iconv / move up uname variables
2006-02-21git-rebase: Clarify usage statement and copy it into the actual documentation.Libravatar Carl Worth2-12/+56
I found a paper thin man page for git-rebase, but was quite happy to see something much more useful in the usage statement of the script when I went there to find out how this thing worked. Here it is cleaned up slightly and expanded a bit into the actual documentation. Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21Fix "gmake -j"Libravatar Johannes Schindelin1-3/+3
In my attempt to port git to IRIX, I broke it. Sorry. Signed-off-by: Johannes E. Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21Makefile tweaks: Solaris 9+ dont need iconv / move up uname variablesLibravatar Paul Jakma1-6/+8
- Solaris 9 and up do not need -liconv, so NEEDS_LIBICONV should be set only for S8. - Move the declaration of the uname variables to early in the Makefile so they can be referenced by prefix and gitexecdir variables. - gitexecdir defaults to being same as bindir, it might as well reference that variable. [jc: corrupt patch, sneakily tried to remove inclusion of GIT-VERSION-FILE I do not know why I am applying this...] Signed-off-by: Paul Jakma <paul@quagga.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21Merge part of jc/portable branchLibravatar Junio C Hamano9-2/+57
2006-02-21git-mktree: reverse of git-ls-tree.Libravatar Junio C Hamano2-1/+138
This reads data in the format a (non recursive) ls-tree outputs and writes a tree object to the object database. The created tree object name is output to the standard output. For convenience, the input data does not need to be sorted; the command sorts the input lines internally. By request from Tommi Virtanen. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-21Merge branch 'lt/merge-tree'Libravatar Junio C Hamano2-1/+273
* lt/merge-tree: git-merge-tree: generalize the "traverse <n> trees in sync" functionality Handling large files with GIT Handling large files with GIT
2006-02-21Merge branch 'jc/ident'Libravatar Junio C Hamano8-16/+45
* jc/ident: Keep Porcelainish from failing by broken ident after making changes. Delay "empty ident" errors until they really matter. Make "empty ident" error message a bit more helpful.
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-19Really honour NO_PYTHONLibravatar Johannes Schindelin1-2/+4
Do not even test for subprocess (trying to execute python). Signed-off-by: Johannes E. Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-19avoid makefile override warningLibravatar Johannes Schindelin1-3/+3
Signed-off-by: Johannes E. Schindelin <Johannes.Schindelin@gmx.de> 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-18Fixes for ancient versions of GNU makeLibravatar Johannes Schindelin2-30/+45
Some versions of GNU make do not understand $(call), and have problems to interpret rules like this: some_target: CFLAGS += -Dsome=defs [jc: simplified substitution a bit. ] Signed-off-by: Johannes E. Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-18Optionally work without pythonLibravatar Johannes Schindelin7-1/+32
In some setups (notably server setups) you do not need that dependency. Gracefully handle the absence of python when NO_PYTHON is defined. Signed-off-by: Johannes E. Schindelin <Johannes.Schindelin@gmx.de> 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-18Keep Porcelainish from failing by broken ident after making changes.Libravatar Junio C Hamano4-1/+13
"empty ident not allowed" error makes commit-tree fail, so we are already safer in that we would not end up with commit objects that have bogus names on the author or committer fields. However, before commit-tree is called there are already changes made to the index file and the working tree. The operation can be resumed after fixing the environment problem, but when this triggers to a newcomer with unusable gecos, the first question becomes "what did I lose and how would I recover". This patch modifies some Porcelainish commands to verify GIT_COMMITTER_IDENT as soon as we know we are going to make some commits before doing much damage to prevent confusion. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-02-18Delay "empty ident" errors until they really matter.Libravatar Junio C Hamano4-29/+32
Previous one warned people upfront to encourage fixing their environment early, but some people just use repositories and git tools read-only without making any changes, and in such a case there is not much point insisting on them having a usable ident. This round attempts to move the error until either "git-var" asks for the ident explicitly or "commit-tree" wants to use it. 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-18Make "empty ident" error message a bit more helpful.Libravatar Junio C Hamano1-0/+14
It appears that some people who did not care about having bogus names in their own commit messages are bitten by the recent change to require a sane environment [*1*]. While it was a good idea to prevent people from using bogus names to create commits and doing sign-offs, the error message is not very informative. This patch attempts to warn things upfront and hint people how to fix their environments. [Footnote] *1* The thread is this one. http://marc.theaimsgroup.com/?t=113868084800004 Especially this message. http://marc.theaimsgroup.com/?m=113932830015032 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-17pack-objects: avoid delta chains that are too long.Libravatar Junio C Hamano1-8/+35
This tries to rework the solution for the excess delta chain problem. An earlier commit worked it around ``cheaply'', but repeated repacking risks unbound growth of delta chains. This version counts the length of delta chain we are reusing from the existing pack, and makes sure a base object that has sufficiently long delta chain does not get deltified. Signed-off-by: Junio C Hamano <junkio@cox.net>