From 2eb10ac7b51c8bb2257e5e2dea85929675de3fd1 Mon Sep 17 00:00:00 2001 From: Gerrit Pape Date: Tue, 24 Oct 2006 20:00:37 +0000 Subject: [PATCH 1/8] Set $HOME for selftests Set HOME environment variable to test trash directory and export for selftests. This fixes the git-svn selftests with nonexistent or not readable home, as found in at least one automated build system: http://buildd.debian.org/fetch.cgi?&pkg=git-core&ver=1%3A1.4.2.3-2&arch=alpha&stamp=1161537466&file=log Signed-off-by: Gerrit Pape Signed-off-by: Junio C Hamano --- t/test-lib.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/t/test-lib.sh b/t/test-lib.sh index 2488e6eae1..07cb706fa8 100755 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -207,7 +207,8 @@ test_done () { # t/ subdirectory and are run in trash subdirectory. PATH=$(pwd)/..:$PATH GIT_EXEC_PATH=$(pwd)/.. -export PATH GIT_EXEC_PATH +HOME=$(pwd)/trash +export PATH GIT_EXEC_PATH HOME # Similarly use ../compat/subprocess.py if our python does not # have subprocess.py on its own. From 9ffd652a385298f3565fdc3f0d0424001a376539 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 24 Oct 2006 02:50:37 -0700 Subject: [PATCH 2/8] git-svn: fix symlink-to-file changes when using command-line svn 1.4.0 I incorrectly thought this was hopelessly broken in svn 1.4.0, but now it's just broken in that the old method didn't work. It looks like svn propdel and svn propset must be used now and the (imho) more obvious svn rm --force && svn add no longer works. "make -C t full-svn-test" should now work. Signed-off-by: Eric Wong Acked-by: Uwe Zeisberger Signed-off-by: Junio C Hamano --- git-svn.perl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/git-svn.perl b/git-svn.perl index 54d2356933..37ecc51787 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1501,10 +1501,13 @@ sub svn_checkout_tree { apply_mod_line_blob($m); svn_check_prop_executable($m); } elsif ($m->{chg} eq 'T') { - sys(qw(svn rm --force),$m->{file_b}); - apply_mod_line_blob($m); - sys(qw(svn add), $m->{file_b}); svn_check_prop_executable($m); + apply_mod_line_blob($m); + if ($m->{mode_a} =~ /^120/ && $m->{mode_b} !~ /^120/) { + sys(qw(svn propdel svn:special), $m->{file_b}); + } else { + sys(qw(svn propset svn:special *),$m->{file_b}); + } } elsif ($m->{chg} eq 'A') { svn_ensure_parent_path( $m->{file_b} ); apply_mod_line_blob($m); From 04d24455ceb0129195f60af6b62981542433ecf7 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 24 Oct 2006 01:29:27 -0700 Subject: [PATCH 3/8] Documentation: note about contrib/. Signed-off-by: Junio C Hamano --- Documentation/SubmittingPatches | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 90722c21fa..a5b3ebdf72 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -101,6 +101,11 @@ send it "To:" the mailing list, and optionally "cc:" him. If it is trivially correct or after the list reached a consensus, send it "To:" the maintainer and optionally "cc:" the list. +Also note that your maintainer does not actively involve himself in +maintaining what are in contrib/ hierarchy. When you send fixes and +enhancements to them, do not forget to "cc: " the person who primarily +worked on that hierarchy in contrib/. + (6) Sign your work From a4e3bddc760c19321b00b2a660c02af9d2e97d0d Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 24 Oct 2006 23:55:46 -0700 Subject: [PATCH 4/8] RPM package re-classification. Grabbing anything that had *arch* in its name into git-arch package was a wrong idea and we lost git-archive from git-core by mistake. Signed-off-by: Junio C Hamano --- git.spec.in | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/git.spec.in b/git.spec.in index 9b1217ac3f..83268fc9d9 100644 --- a/git.spec.in +++ b/git.spec.in @@ -96,10 +96,10 @@ find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';' -(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "arch|svn|cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files +(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files (find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files %if %{!?_without_docs:1}0 -(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "arch|svn|git-cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files +(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "archimport|svn|git-cvs|email|gitk" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files %else rm -rf $RPM_BUILD_ROOT%{_mandir} %endif @@ -126,10 +126,10 @@ rm -rf $RPM_BUILD_ROOT %files arch %defattr(-,root,root) -%doc Documentation/*arch*.txt -%{_bindir}/*arch* -%{!?_without_docs: %{_mandir}/man1/*arch*.1*} -%{!?_without_docs: %doc Documentation/*arch*.html } +%doc Documentation/git-archimport.txt +%{_bindir}/git-archimport +%{!?_without_docs: %{_mandir}/man1/git-archimport.1*} +%{!?_without_docs: %doc Documentation/git-archimport.html } %files email %defattr(-,root,root) From ddaf73141c03aeaab5e8cf5fadaf8b7ebad7955b Mon Sep 17 00:00:00 2001 From: Tuncer Ayaz Date: Wed, 25 Oct 2006 12:03:06 +0200 Subject: [PATCH 5/8] git-fetch.sh printed protocol fix We have supported https:// protocol for some time and in 1.4.3 added ftp:// protocol. The transfer were still reported to be over http. [jc: Tuncer used substring parameter substitution ${remote%%:*} but I am deferring it to a later day. We should replace colon-expr with substring substitution after everybody's shell can grok it someday, but we are not in a hurry. ] Signed-off-by: Junio C Hamano --- git-fetch.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/git-fetch.sh b/git-fetch.sh index 79222fbb1a..a674c8c574 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -287,6 +287,7 @@ fetch_main () { # There are transports that can fetch only one head at a time... case "$remote" in http://* | https://* | ftp://*) + proto=`expr "$remote" : '\([^:]*\):'` if [ -n "$GIT_SSL_NO_VERIFY" ]; then curl_extra_args="-k" fi @@ -310,7 +311,7 @@ fetch_main () { done expr "z$head" : "z$_x40\$" >/dev/null || die "Failed to fetch $remote_name from $remote" - echo >&2 Fetching "$remote_name from $remote" using http + echo >&2 "Fetching $remote_name from $remote using $proto" git-http-fetch -v -a "$head" "$remote/" || exit ;; rsync://*) From d47107d8104167dfe65c1743e81fa670b33f7870 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 25 Oct 2006 11:33:08 -0700 Subject: [PATCH 6/8] Refer to git-rev-parse:Specifying Revisions from git.txt The brief list given in "Symbolic Identifiers" section of the main documentation is good enough for overview, but help the reader to find a more comrehensive list as needed. Signed-off-by: Junio C Hamano --- Documentation/git.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/git.txt b/Documentation/git.txt index 3af6fc63e2..b00607ee1b 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -562,6 +562,9 @@ HEAD:: a valid head 'name' (i.e. the contents of `$GIT_DIR/refs/heads/`). +For a more complete list of ways to spell object names, see +"SPECIFYING REVISIONS" section in gitlink:git-rev-parse[1]. + File/Directory Structure ------------------------ From 6e7d76baee08d0cd131d443c347c8a4bcd1004db Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 24 Oct 2006 23:14:30 -0700 Subject: [PATCH 7/8] Update cherry documentation. Signed-off-by: Junio C Hamano --- Documentation/git-cherry.txt | 5 +++-- git-cherry.sh | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Documentation/git-cherry.txt b/Documentation/git-cherry.txt index 893baaa6f6..e1bf8ee255 100644 --- a/Documentation/git-cherry.txt +++ b/Documentation/git-cherry.txt @@ -14,8 +14,9 @@ DESCRIPTION The changeset (or "diff") of each commit between the fork-point and is compared against each commit between the fork-point and . -Every commit with a changeset that doesn't exist in the other branch -has its id (sha1) reported, prefixed by a symbol. Those existing only +Every commit that doesn't exist in the branch +has its id (sha1) reported, prefixed by a symbol. The ones that have +equivalent change already in the branch are prefixed with a minus (-) sign, and those that only exist in the branch are prefixed with a plus (+) symbol. diff --git a/git-cherry.sh b/git-cherry.sh index 8832573fee..cf7af5502c 100755 --- a/git-cherry.sh +++ b/git-cherry.sh @@ -12,8 +12,8 @@ LONG_USAGE=' __*__*__*__*__> Each commit between the fork-point (or if given) and is examined, and compared against the change each commit between the fork-point and introduces. If the change seems to be in -the upstream, it is shown on the standard output with prefix "+". -Otherwise it is shown with prefix "-".' +the upstream, it is shown on the standard output with prefix "-". +Otherwise it is shown with prefix "+".' . git-sh-setup case "$1" in -v) verbose=t; shift ;; esac From 70da769a4607dbbc4efc490287ead98175cf622b Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Wed, 25 Oct 2006 02:28:55 +0200 Subject: [PATCH 8/8] xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines This removes the '#' and '(' tests and adds a '$' test instead although I have no idea what it is actually good for - but hey, if that's what GNU diff does... Pasky only went and did as Junio sayeth. Signed-off-by: Petr Baudis Signed-off-by: Junio C Hamano --- xdiff/xemit.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xdiff/xemit.c b/xdiff/xemit.c index 154c26fdcd..07995ec33e 100644 --- a/xdiff/xemit.c +++ b/xdiff/xemit.c @@ -86,8 +86,7 @@ static void xdl_find_func(xdfile_t *xf, long i, char *buf, long sz, long *ll) { if (len > 0 && (isalpha((unsigned char)*rec) || /* identifier? */ *rec == '_' || /* also identifier? */ - *rec == '(' || /* lisp defun? */ - *rec == '#')) { /* #define? */ + *rec == '$')) { /* mysterious GNU diff's invention */ if (len > sz) len = sz; while (0 < len && isspace((unsigned char)rec[len - 1]))