summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-11-24Add Python support library for remote helpersLibravatar Sverre Rabbelier9-0/+989
This patch introduces parts of a Python package called "git_remote_helpers" containing the building blocks for remote helpers written in Python. No actual remote helpers are part of this patch, this patch only includes the common basics needed to start writing such helpers. The patch includes the necessary Makefile additions to build and install the git_remote_helpers Python package along with the rest of Git. This patch is based on Johan Herland's git_remote_cvs patch and has been improved by the following contributions: - David Aguilar: Lots of Python coding style fixes - David Aguilar: DESTDIR support in Makefile Cc: David Aguilar <davvid@gmail.com> Cc: Johan Herland <johan@herland.net> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Basic build infrastructure for Python scriptsLibravatar Johan Herland3-0/+17
This patch adds basic boilerplate support (based on corresponding Perl sections) for enabling the building and installation Python scripts. There are currently no Python scripts being built, and when Python scripts are added in future patches, their building and installation can be disabled by defining NO_PYTHON. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Allow helpers to report in "list" command that the ref is unchangedLibravatar Daniel Barkalow2-1/+25
Helpers may use a line like "? name unchanged" to specify that there is nothing new at that name, without any git-specific code to determine the correct response. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Fix various memory leaks in transport-helper.cLibravatar Sverre Rabbelier1-0/+4
Found with: valgrind --tool=memcheck --leak-check=full --show-reachable=yes Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Allow helper to map private ref names into normal namesLibravatar Daniel Barkalow4-2/+80
This allows a helper to say that, when it handles "import refs/heads/topic", the script it outputs will actually write to refs/svn/origin/branches/topic; therefore, transport-helper should read it from the latter location after git-fast-import completes. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Add support for "import" helper commandLibravatar Daniel Barkalow2-0/+62
This command, supported if the "import" capability is advertized, allows a helper to support fetching by outputting a git-fast-import stream. If both "fetch" and "import" are advertized, git itself will use "fetch" (although other users may use "import" in this case). Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Allow specifying the remote helper in the urlLibravatar Johannes Schindelin1-0/+10
The common case for remote helpers will be to import some repository which can be specified by a single URL. Support this use case by allowing users to say: git clone hg::https://soc.googlecode.com/hg/ soc Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Add a config option for remotes to specify a foreign vcsLibravatar Daniel Barkalow4-1/+14
If this is set, the url is not required, and the transport always uses a helper named "git-remote-<value>". It is a separate configuration option in order to allow a sensible configuration for foreign systems which either have no meaningful urls for repositories or which require urls that do not specify the system used by the repository at that location. However, this only affects how the name of the helper is determined, not anything about the interaction with the helper, and the contruction is such that, if the foreign scm does happen to use a co-named url method, a url with that method may be used directly. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Allow fetch to modify refsLibravatar Daniel Barkalow4-11/+50
This allows the transport to use the null sha1 for a ref reported to be present in the remote repository to indicate that a ref exists but its actual value is presently unknown and will be set if the objects are fetched. Also adds documentation to the API to specify exactly what the methods should do and how they should interpret arguments. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Use a function to determine whether a remote is validLibravatar Daniel Barkalow1-4/+9
Currently, it only checks url, but it will allow other things in the future. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Allow programs to not depend on remotes having urlsLibravatar Daniel Barkalow4-29/+51
For fetch and ls-remote, which use the first url of a remote, have transport_get() determine this by passing a remote and passing NULL for the url. For push, which uses every url of a remote, use each url in turn if there are any, and use NULL if there are none. This will allow the transport code to do something different if the location is not specified with a url. Also, have the message for a fetch say "foreign" if there is no url. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-17Fix memory leak in helper method for disconnectLibravatar Daniel Barkalow1-1/+8
Since some cases may need to disconnect from the helper and reconnect, wrap the function that just disconnects in a function that also frees transport->data. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-28Merge branch 'maint'Libravatar Junio C Hamano3-5/+11
* maint: help -a: do not unnecessarily look for a repository Do not try to remove directories when removing old links rebase -i: more graceful handling of invalid commands help -i: properly error out if no info viewer can be found
2009-10-28commit: More generous accepting of RFC-2822 footer lines.Libravatar David Brown2-1/+83
'git commit -s' will insert a blank line before the Signed-off-by line at the end of the message, unless this last line is a Signed-off-by line itself. Common use has other trailing lines at the ends of commit text, in the style of RFC2822 headers. Be more generous in considering lines to be part of this footer. If the last paragraph of the commit message reasonably resembles RFC-2822 formatted lines, don't insert that blank line. The new Signed-off-by line is still only suppressed when the author's existing Signed-off-by is the last line of the message. Signed-off-by: David Brown <davidb@quicinc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-28bash completion: difftool accepts the same options as diffLibravatar Markus Heidelberg1-2/+8
So complete refs, files after the double-dash and some diff options that make sense for difftool. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-28help -a: do not unnecessarily look for a repositoryLibravatar Johannes Schindelin1-3/+3
Although 'git help -a' actually doesn't need to be run inside a git repository and uses no repository-specific information, it looks for a git directory. On 'git <TAB><TAB>' the bash completion runs 'git help -a' and unnecessary searching for a git directory can be annoying in auto-mount environments. With this commit, 'git help' no longer searches for a repository when run with the -a option. Reported by Vincent Danjean through http://bugs.debian.org/539273 Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-28bash: complete more options for 'git rebase'Libravatar Björn Gustavsson1-1/+11
Complete all long options for 'git rebase' except --no-verify (probably used very seldom) and the long options corresponding to -v, -q, and -f. Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-28Merge branch 'maint-1.6.4' into maintLibravatar Junio C Hamano2-1/+7
* maint-1.6.4: rebase -i: more graceful handling of invalid commands help -i: properly error out if no info viewer can be found
2009-10-27Do not try to remove directories when removing old linksLibravatar Sebastian Schuberth1-1/+1
When building Git with MSVC on Windows, directories named after the Git alias are created for the output files, e.g. there is a "git-merge-index" directory next to the "git-merge-index.exe" executable in the build root. Previously, "make all" just checked if "git-merge-index" and "git-merge-index.exe" are the same file, and if not, tried to remove "git-merge-index". This fails in the case of "git-merge-index" being a directory, which is why this is checked now. Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-27rebase -i: more graceful handling of invalid commandsLibravatar Jan Krüger1-1/+6
Currently, when there is an invalid command, the rest of the line is still treated as if the command had been valid, i.e. rebase -i attempts to produce a patch, using the next argument as a SHA1 name. If there is no next argument or an invalid one, very confusing error messages appear (the line was '.'; path to git-rebase-todo substituted): Unknown command: . fatal: ambiguous argument 'Please fix this in the file $somefile.': unknown revision or path not in the working tree. Use '--' to separate paths from revisions fatal: Not a valid object name Please fix this in the file $somefile. fatal: bad revision 'Please fix this in the file $somefile.' Instead, verify the validity of the remaining line and error out earlier if necessary. Signed-off-by: Jan Krüger <jk@jk.gs> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-27help -i: properly error out if no info viewer can be foundLibravatar Gerrit Pape1-0/+1
With this commit, git help -i <cmd> prints an error message and exits non-zero instead of being silent and exit code 0. Reported by Trent W. Buck through http://bugs.debian.org/537664 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-27Merge git://git.bogomips.org/git-svnLibravatar Junio C Hamano9-5/+1677
* git://git.bogomips.org/git-svn: git-svn: convert SVN 1.5+ / svnmerge.py svn:mergeinfo props to parents git-svn: add test data for SVN 1.5+ merge, with script. git-svn: convert SVK merge tickets to extra parents git-svn: allow test setup script to support PERL env. var git-svn: add test data for SVK merge, with script. git svn: fix fetch where glob is on the top-level URL
2009-10-27Merge git://repo.or.cz/git-guiLibravatar Junio C Hamano7-24/+2276
* git://repo.or.cz/git-gui: git-gui: adjust the minimum height of diff pane for shorter screen height git-gui: fix use of uninitialized variable git-gui: store wm state and fix wm geometry git-gui: Ensure submodule path is quoted properly git-gui: fix diff for partially staged submodule changes git-gui: Update russian translation git-gui: Limit display to a maximum number of files git-gui: remove warning when deleting correctly merged remote branch git-gui: Added Greek translation & glossary git-gui: display summary when showing diff of a submodule
2009-10-27git-gui: adjust the minimum height of diff pane for shorter screen heightLibravatar Vietor Liu1-1/+1
When the main window is maximized, if the screen height is shorter (e.g. Netbook screen 1024x600), both the partial commit pane and the status bar are hidden. The diff pane is resizable, so that it can use less vertical height, allowing the overall window to be shorter and still display both the entire commit pane and status bar. Signed-off-by: Vietor Liu <vietor@vxwo.org> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2009-10-26git-svn: convert SVN 1.5+ / svnmerge.py svn:mergeinfo props to parentsLibravatar Sam Vilain2-0/+114
This feature is long overdue; convert SVN's merge representation to git's as revisions are imported. This works by converting the list of revisions in each line of the svn:mergeinfo into git revision ranges, and then checking the latest of each of these revision ranges for A) being new and B) now being completely merged. Signed-off-by: Sam Vilain <sam.vilain@catalyst.net.nz> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-10-26git-svn: add test data for SVN 1.5+ merge, with script.Libravatar Sam Vilain3-0/+811
Dump generated with SVN 1.5.1 (on lenny amd64). This test should hopefully cover all but a few intermediate versions of the svnmerge.py script. Signed-off-by: Sam Vilain <sam.vilain@catalyst.net.nz> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-10-26git-svn: convert SVK merge tickets to extra parentsLibravatar Sam Vilain2-1/+74
SVK is a simple case to start with, as its idea of merge parents matches git's one. When a svk:merge ticket is encountered, check each of the listed merged revisions to see if they are in the history of this commit; if not, then we have encountered a merge - record it. [ew: minor formatting cleanups] Signed-off-by: Sam Vilain <sam.vilain@catalyst.net.nz> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-10-26git-svn: allow test setup script to support PERL env. varLibravatar Sam Vilain1-2/+3
Possibly the 'perl' in the PATH is not the one to be used for the tests; let PERL set in the environment select it. Signed-off-by: Sam Vilain <sam.vilain@catalyst.net.nz> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-10-26git-svn: add test data for SVK merge, with script.Libravatar Sam Vilain2-0/+673
Dump generated with SVK 2.0.2 and SVN 1.5.1 (on lenny amd64). Signed-off-by: Sam Vilain <sam.vilain@catalyst.net.nz> Acked-by: Eric Wong <normalperson@yhbt.net>
2009-10-26git svn: fix fetch where glob is on the top-level URLLibravatar Eric Wong1-2/+2
In cases where the top-level URL we're tracking is the path we glob against, we can once again track odd repositories that keep branches/tags at the top level. This regression was introduced in commit 6f5748e14cc5bb0a836b649fb8e2d6a5eb166f1d. Thanks to Daniel Cordero for the original bug report and bisection. Signed-off-by: Eric Wong <normalperson@yhbt.net>
2009-10-25Update draft release notes to 1.6.6Libravatar Junio C Hamano1-0/+37
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-25Merge branch 'sb/gitweb-link-author'Libravatar Junio C Hamano2-5/+39
* sb/gitweb-link-author: gitweb: linkify author/committer names with search
2009-10-25Merge branch 'jk/maint-cvsimport-pathname'Libravatar Junio C Hamano1-3/+14
* jk/maint-cvsimport-pathname: cvsimport: fix relative argument filenames
2009-10-25Merge branch 'iv/tar-lzma-xz'Libravatar Junio C Hamano1-1/+4
* iv/tar-lzma-xz: import-tars: Add support for tarballs compressed with lzma, xz
2009-10-25Merge branch 'bg/clone-doc'Libravatar Junio C Hamano1-13/+13
* bg/clone-doc: git-clone.txt: Fix grammar and formatting
2009-10-25Merge branch 'jc/receive-pack-auto'Libravatar Junio C Hamano3-4/+36
* jc/receive-pack-auto: receive-pack: run "gc --auto --quiet" and optionally "update-server-info" gc --auto --quiet: make the notice a bit less verboase
2009-10-25Merge branch 'jc/fsck-default-full'Libravatar Junio C Hamano3-3/+15
* jc/fsck-default-full: fsck: default to "git fsck --full"
2009-10-25Sync with 1.6.5.2Libravatar Junio C Hamano3-6/+24
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-25GIT 1.6.5.2Libravatar Junio C Hamano4-3/+23
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-25Merge branch 'jc/maint-fix-unpack-zlib-check' into maintLibravatar Junio C Hamano1-5/+3
* jc/maint-fix-unpack-zlib-check: Fix incorrect error check while reading deflated pack data
2009-10-25Merge branch 'maint-1.6.4' into maintLibravatar Junio C Hamano2-8/+32
* maint-1.6.4: ls-files: excludes should not impact tracked files
2009-10-25Merge branch 'jk/maint-1.6.3-ls-files-no-ignore-cached' into maint-1.6.4Libravatar Junio C Hamano2-8/+32
* jk/maint-1.6.3-ls-files-no-ignore-cached: ls-files: excludes should not impact tracked files
2009-10-25Merge branch 'jn/maint-1.6.3-check-ref-format-doc' into maint-1.6.4Libravatar Junio C Hamano1-3/+6
* jn/maint-1.6.3-check-ref-format-doc: Documentation: describe check-ref-format --branch
2009-10-25Merge branch 'maint'Libravatar Junio C Hamano2-2/+2
* maint: t7800-difftool: fix the effectless GIT_DIFFTOOL_PROMPT test Work around option parsing bug in the busybox tar implementation
2009-10-24t7800-difftool: fix the effectless GIT_DIFFTOOL_PROMPT testLibravatar Markus Heidelberg1-1/+1
GIT_DIFFTOOL_PROMPT doesn't have any effect if overridden with --prompt. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-24Work around option parsing bug in the busybox tar implementationLibravatar Andreas Schwab1-1/+1
The first argument of the tar command is interpreted as a bundle of letters specifying the mode of operation and additional options, with any option arguments taken from subsequent words on the command line as needed. The implementation of tar in busybox treats this bundle as if preceded by a dash and then parses it by getopt rules, which mishandles 'tar xfo -'. Use 'tar xof -' instead to work this around. Signed-off-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-10-23Merge branch 'maint'Libravatar Junio C Hamano3-2/+4
* maint: Fix list of released versions in the toc document Do not fail "describe --always" in a tag-less repository
2009-10-23Fix list of released versions in the toc documentLibravatar Junio C Hamano1-1/+1
2009-10-23Merge branch 'jp/maint-send-email-fold' into maintLibravatar Junio C Hamano2-22/+78
* jp/maint-send-email-fold: git-send-email.perl: fold multiple entry "Cc:" and multiple single line "RCPT TO:"s
2009-10-23Merge branch 'jn/maint-1.6.3-check-ref-format-doc' into maintLibravatar Junio C Hamano1-3/+6
* jn/maint-1.6.3-check-ref-format-doc: Documentation: describe check-ref-format --branch