Re: [PATCH] git-svn: merge: fix rooturl/branchurl match check

2014-10-20 Thread Eric Wong
Tommaso Colombo tommaso.colo...@outlook.com wrote:
 When populating svn:mergeinfo, git-svn merge checks if the merge parent
 of the merged branch is under the same root as the git-svn repository.
 This was implemented comparing $gs-repos_root with the return value of
 of cmt_metadata for the merge parent. However, the first may contain a
 username, whereas the second does not. In this case the comparison
 fails.
 
 Remove the username from $gs-repos_root before performing the
 comparison.

Thanks.  Commit makes sense, but one of the test cases fails for me,
can you check it out?
$ make  make t9161-git-svn-mergeinfo-push.sh -C t GIT_TEST_OPTS='-i -v'
snip successes
ok 11 - reintegration merge

expecting success: 
mergeinfo=$(svn_cmd propget svn:mergeinfo $svnrepo/branches/svnb4)
test $mergeinfo = /branches/svnb1:2-4,7-9,13-18
/branches/svnb2:3,8,16-17
/branches/svnb3:4,9
/branches/svnb5:6,11

not ok 12 - check reintegration mergeinfo
#   
#   mergeinfo=$(svn_cmd propget svn:mergeinfo 
$svnrepo/branches/svnb4)
#   test $mergeinfo = /branches/svnb1:2-4,7-9,13-18
#   /branches/svnb2:3,8,16-17
#   /branches/svnb3:4,9
#   /branches/svnb5:6,11
#   
make: *** [t9161-git-svn-mergeinfo-push.sh] Error 1
make: Leaving directory `/home/ew/git-core/t'


You'll also need to sign-off (see Documentation/SubmittingPatches)
It is required (project policy, not mine)

 @@ -729,7 +730,7 @@ sub populate_merge_info {
   }
   my $branchpath = $1;
  
 - my $ra = Git::SVN::Ra-new($branchurl);
 + my $ra = 
 Git::SVN::Ra-new(add_path_to_url($gs-repos_root, $branchpath));

Also, please keep long lines wrapped to = 80 columns.
Thanks again.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/2] use env_array member of struct child_process

2014-10-20 Thread Jeff King
On Sun, Oct 19, 2014 at 01:14:20PM +0200, René Scharfe wrote:

 --- a/wt-status.c
 +++ b/wt-status.c
 @@ -726,14 +726,14 @@ static void wt_status_print_changed(struct wt_status *s)
  static void wt_status_print_submodule_summary(struct wt_status *s, int 
 uncommitted)
  {
   struct child_process sm_summary = CHILD_PROCESS_INIT;
 - struct argv_array env = ARGV_ARRAY_INIT;
   struct argv_array argv = ARGV_ARRAY_INIT;

I don't think it belongs in this patch, but a follow-on 3/2 might be to
give argv the same treatment.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] receive-pack: plug minor memory leak in unpack()

2014-10-20 Thread Jeff King
On Sun, Oct 19, 2014 at 01:13:30PM +0200, René Scharfe wrote:

 We could flip it to give the managed version the short name (and calling
 the unmanaged version env_ptr or something). That would require
 munging the existing callers, but the tweak would be simple.
 
 Perhaps, but I'm a but skeptical of big renames.  Let's start small and add
 env_array, and see how far we get with that.

Yeah, having basically implemented patches similar to yours, I think
that is a good first step. Both of your patches looked good to me.

 Trickiness makes me nervous, especially in daemon.c.  And 5% CPU usage just
 for waiting sounds awful.  Using waitpid(0, ...) is not supported by the
 current implementation in compat/mingw.c, however.

I guess you could use wait() and a counter that you increment whenever
you get SIGCLD, but that feels a bit hacky. I wonder how bad a real
waitpid would be for mingw.

 By the way, does getaddrinfo(3) show up in your profiles much?  Recently I
 looked into calling it only on demand instead of for all incoming
 connections because doing that unconditional with a user-supplied
 (tainted) hostname just felt wrong.  The resulting patch series turned out
 to be not very pretty and I didn't see any performance improvements in my
 very limited tests, however; not sure if it's worth it.

It shows up in the child, not the parent, so it wasn't part of the
profiling I did recently. I did look at it just now, and it does
introduce some latency into each request (though not a lot of CPU;
mainly it's the DNS request). Like you, I'm nervous about convincing
git-daemon to do lookups on random hosts. By itself it's not horrible
(except for tying up git-daemon with absurdly long chains of glueless
references), but I worry that it could exacerbate other problems
(overflows or other bugs in DNS resolvers, as part of a cache-poisoning
scheme, orbeing used for DoS amplification).

I think doing it on demand would be a lot more sensible. We do not need
to do a lookup at all unless the %H, %CH, or %IP interpolated path
features are used. And we do not need to do hostname canonicalization
unless %CH is used.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC/PATCH] fsck: do not canonicalize modes in trees we are checking

2014-10-20 Thread Jeff King
On Sun, Oct 19, 2014 at 11:40:22PM +1100, Ben Aveling wrote:

 This seems to have worked. I also had to move away the existing .idx and
 copy in a new one before it was happy.

Sorry if I wasn't clear; you do need to copy the .idx files along with
the packfiles (you can regenerate the .idx files from the packfiles on
the destination, but they're not that big; it's probably easier just to
copy them).

 I'm not sure that what I've done is so different from simply copying the
 other version of the repository - there shouldn't have been anything in the
 corrupt version that wasn't also in the good one. But any rate, it worked.

Right, a valid technique for repairing corruption is to just blow away
the original repo entirely and replace it with a good copy. But this is a
way of ensuring that no commits are missed, and keeping the original set
of refs, config options, and reflogs.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 0/3] Allow building Git with Asciidoctor

2014-10-20 Thread Jeff King
On Mon, Oct 20, 2014 at 12:20:35AM +, brian m. carlson wrote:

 This series is designed to implement the changes necessary to build Git
 using Asciidoctor instead of AsciiDoc.

These all looked sane to me from my cursory read (I haven't played with
AsciiDoctor myself yet, but it looks from your results like you have).

 I've successfully built the documentation with Asciidoctor using the
 following command line:
 
   make doc ASCIIDOC=asciidoctor ASCIIDOC_HTML=html5 \
   ASCIIDOC_DOCBOOK=docbook45 ASCIIDOC_EXTRA='-alitdd=#45;#45;' \
   ASCIIDOC_CONF=

That incantation is getting a bit hairy. Is it worth adding a meta-macro
like USE_ASCIIDOCTOR that encompasses it all? That might encourage other
people to play around with it.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] doc: fix 'git status --help' character quoting

2014-10-20 Thread Philip Oakley

From: Junio C Hamano gits...@pobox.com

Philip Oakley philipoak...@iee.org writes:


Correct backtick quoting for some of the modification states to give
consistent web rendering.


This is to match the way how XY PATH1 - PATH2 is typeset, I
presume.  Some in the body text are already `XY` to match, but some
others are not,
and you are fixing them, all of which look good.


Do you need me to add this to the commit message?



While at it, use 00 for ASCII NUL to avoid any confusion with the 
letter O.


I do not think this is particularly a good change.  We try to follow
the convention of spelling ASCII value in decimal (e.g. ASCII
double quote (34)), and 00 is not the way how you usually spell a
number in decimal.  Existing description is perfectly fine;



there is
no risk for anybody to mistake O (oh) as part of digits, whether
you use decimal or hexadecimal.


The reason I proposed the change is because on the web view, on my 
machine, I questioned whether the specially formatted character 
(remember its quotation is consumed by ascidoc) looked too much like an 
Oh, so I specially checked on the original .txt to see if it was correct 
there, which led me to the proposal for '00' in this case.


I'd be just as happy with a single zero, as long as it's distinct from O 
(as you probably know, in the depths of hsitory typewriters didn't even 
have 0 and 1 keys - the O and l were used interchangably and many fonts 
keep too much to that pattern of undifferetiability!)


Note the more recent http://git-scm.com/docs/git-status has the 
formatted round o and 
https://www.kernel.org/pub/software/scm/git/docs/git-status.html (which 
IIUC is out of date) has an unformatted 0.


Looking around some more, it's as if 0) is special cased in some 
conversion to HTML.




If you have an aversion to mentioning ASCII when clarifying which
character we talk about, you could of course do s/ASCII 0/'\0'/ but
I do not know if that is an improvement.


--
Philip 


--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] doc: fix 'git status --help' character quoting

2014-10-20 Thread Philip Oakley

From: Philip Oakley philipoak...@iee.org

From: Junio C Hamano gits...@pobox.com

Philip Oakley philipoak...@iee.org writes:

..


While at it, use 00 for ASCII NUL to avoid any confusion with the 
letter O.


(remember its quotation is consumed by ascidoc) looked too much like 
an

I mis-remembered. It's not quoted.

Looking around some more, it's as if 0) is special cased in some 
conversion to HTML.


This looks to be an issue of the browser display font 
(Chrome/Chromium/Firefox) where it's almost impossible to distinguish 0 
and o without other numbers or letters being present for context. The 
old kernel.org page appears to specify the font differently and thus 
provides a clear rendering.


Philip 


--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] Copy mergetool bc3 as bc4

2014-10-20 Thread Olivier Croquette
Beyond compare 4 is out since september 2014. The CLI interface doesn't seem to 
have changed compared to the version 3.

Signed-off-by: Olivier Croquette ocroque...@free.fr
---
 mergetools/bc4 |   25 +
 1 files changed, 25 insertions(+), 0 deletions(-)
 create mode 100644 mergetools/bc4

diff --git a/mergetools/bc4 b/mergetools/bc4
new file mode 100644
index 000..b6319d2
--- /dev/null
+++ b/mergetools/bc4
@@ -0,0 +1,25 @@
+diff_cmd () {
+   $merge_tool_path $LOCAL $REMOTE
+}
+
+merge_cmd () {
+   touch $BACKUP
+   if $base_present
+   then
+   $merge_tool_path $LOCAL $REMOTE $BASE \
+   -mergeoutput=$MERGED
+   else
+   $merge_tool_path $LOCAL $REMOTE \
+   -mergeoutput=$MERGED
+   fi
+   check_unchanged
+}
+
+translate_merge_tool_path() {
+   if type bcomp /dev/null 2/dev/null
+   then
+   echo bcomp
+   else
+   echo bcompare
+   fi
+}
-- 
1.7.2.5

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: git-svn performance

2014-10-20 Thread Jakob Stoklund Olesen

 On Oct 19, 2014, at 18:16, Eric Wong normalper...@yhbt.net wrote:
 
 Jakob Stoklund Olesen stokl...@2pi.dk wrote:
 If cached_mergeinfo is using too much memory, you can probably drop
 that cache entirely. IIRC, it didn't give that much of a speed up.
 
 I am surprised that it is using a lot of memory, though. There is only
 one entry per SVN branch.
 
 Something like the below?  (on top of your original two patches)
 Pushed to my master @ git://bogomips.org/git-svn.git

Yes, but I think you can remove cached_mergeinfo_rev too. 

Thanks
/Jakob


Eric Wong (2):
  git-svn: reduce check_cherry_pick cache overhead
  git-svn: cache only mergeinfo revisions
 
Jakob Stoklund Olesen (2):
  git-svn: only look at the new parts of svn:mergeinfo
  git-svn: only look at the root path for svn:mergeinfo
 
 git-svn still seems to have some excessive memory usage problems,
 even independenty of mergeinfo stuff.
 --8
 From: Eric Wong normalper...@yhbt.net
 Date: Mon, 20 Oct 2014 01:02:53 +
 Subject: [PATCH] git-svn: cache only mergeinfo revisions
 
 This should reduce excessive memory usage from the new mergeinfo
 caches without hurting performance too much, assuming reasonable
 latency to the SVN server.
 
 Cc: Hin-Tak Leung ht...@users.sourceforge.net
 Suggested-by: Jakob Stoklund Olesen stokl...@2pi.dk
 Signed-off-by: Eric Wong normalper...@yhbt.net
 ---
 perl/Git/SVN.pm | 22 --
 1 file changed, 8 insertions(+), 14 deletions(-)
 
 diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
 index 171af37..f8a75b1 100644
 --- a/perl/Git/SVN.pm
 +++ b/perl/Git/SVN.pm
 @@ -1713,13 +1713,10 @@ sub mergeinfo_changes {
# Initialize cache on the first call.
unless (defined $self-{cached_mergeinfo_rev}) {
$self-{cached_mergeinfo_rev} = {};
 -$self-{cached_mergeinfo} = {};
}
 
my $cached_rev = $self-{cached_mergeinfo_rev}{$old_path};
 -if (defined $cached_rev  $cached_rev == $old_rev) {
 -$old_minfo = $self-{cached_mergeinfo}{$old_path};
 -} else {
 +unless (defined $cached_rev  $cached_rev == $old_rev) {
my $ra = $self-ra;
# Give up if $old_path isn't in the repo.
# This is probably a merge on a subtree.
 @@ -1728,19 +1725,16 @@ sub mergeinfo_changes {
directory didn't exist in r$old_rev\n;
return {};
}
 -my (undef, undef, $props) =
 -$self-ra-get_dir($old_path, $old_rev);
 -if (defined $props-{svn:mergeinfo}) {
 -my %omi = map {split :, $_ } split \n,
 -$props-{svn:mergeinfo};
 -$old_minfo = \%omi;
 -}
 -$self-{cached_mergeinfo}{$old_path} = $old_minfo;
 -$self-{cached_mergeinfo_rev}{$old_path} = $old_rev;
}
 +my (undef, undef, $props) = $self-ra-get_dir($old_path, $old_rev);
 +if (defined $props-{svn:mergeinfo}) {
 +my %omi = map {split :, $_ } split \n,
 +$props-{svn:mergeinfo};
 +$old_minfo = \%omi;
 +}
 +$self-{cached_mergeinfo_rev}{$old_path} = $old_rev;
 
# Cache the new mergeinfo.
 -$self-{cached_mergeinfo}{$path} = \%minfo;
$self-{cached_mergeinfo_rev}{$path} = $rev;
 
my %changes = ();
 -- 
 EW
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


git fetch (http) hanging/failing on one specific repository, http only

2014-10-20 Thread Dennis Kaarsemaker
Since a few days, one of our repos is causing problems during git fetch,
basically git fetch over http hangs during find_common. When using ssh,
this does not happen. One thing to noe about this repo is that it has
53000+ refs, though I'm not convinced that that is the cause of my
ptoblem.

Client and server are both 2.1.2, the 'dirty' is from some debugging
printf's I threw in. I also tested with 1.8.4, which also exhibits this
behaviour:

GIT_CURL_VERBOSE=1 /home/dkaarsemaker/git/git fetch -vvv

* Couldn't find host xxx.booking.com in the .netrc file; using defaults
* Expire cleared
* About to connect() to xxx.booking.com port 80 (#0)
*   Trying 10.196.70.243... 
GET /git/main.git/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/2.1.2.dirty
Host: xxx.booking.com
Accept: */*
Accept-Encoding: gzip
Pragma: no-cache

 HTTP/1.1 200 OK
 Date: Mon, 20 Oct 2014 13:41:00 GMT
 Server: Apache
 Expires: Fri, 01 Jan 1980 00:00:00 GMT
 Pragma: no-cache
 Cache-Control: no-cache, max-age=0, must-revalidate
 Transfer-Encoding: chunked
 Content-Type: application/x-git-upload-pack-advertisement
 
* Expire cleared
* Connection #0 to host xxx.booking.com left intact
HEADServer supports multi_ack_detailed
Server supports no-done
Server supports side-band-64k
Server supports ofs-delta
Server version is git/2.1.2
want dfb112668697c44d3221ce1e603af1ee46fff41e (refs/heads/xxx)
want e884b8d79a935fdc9291c2424372cd372f0b7666 (refs/heads/xxx)
want d83ee364a2be10ea5d9fa9c19a64d8680f7f2327 (refs/heads/xxx)
want 3cf9d21630bb5e380be3537628cd026ddfee8a11 (refs/heads/xxx)
want 0ecb911a9062d2a94c5381efab8b10d76acfa487 (refs/heads/xxx)
want 53dca992d6162fb08a1c722317621866ade339ca (refs/heads/xxx)
want 49de5539e17ed53706159f4fdda2bdacac18f9d6 (refs/heads/xxx)
want 6fb579642139bff5e28f313012dbe7ffe4f3aae5 (refs/heads/xxx)
want 62bf71564cc70c3d9a5cd8046b09e136f9e27928 (refs/heads/xxx)
want c1f98f24174113f901950506ab6a08c54c88e867 (refs/heads/xxx)
want 830ee444f8e9f3127ee7c8ac054690581e6bea53 (refs/heads/xxx)
want dd7a12a3f7344e78136fe8ea1d8bd5b8a7592bda (refs/heads/xxx)
want acc5936de82f6f31a50a3c68dc1fe22bfe5818ef (refs/heads/xxx)
want 88c5f7c05e55a83826112c4cc19e2e9fc53bbdfb (refs/heads/xxx)
want 639339def49ba7f3d469413e7d26e0d205fa23b7 (refs/heads/xxx)
want 65a12becb29987726864709429052f8b63a9e468 (refs/heads/xxx)
want 69375797ac43b2427d6c88a07202cb986eb0e91e (refs/heads/xxx)
want c32e7a453643f43ad3a840d8972a591345eb4ce6 (refs/heads/xxx)
want 024a9c8904934522a8a625145997b118cb07ea85 (refs/heads/xxx)
want 7f3b10df5ddb7eb4d8b310812e7406515ff9c439 (refs/heads/xxx)
want 762cf79100279f14c1d6089daacd7a800d4574d9 (refs/heads/xxx)
want 8b74fe415472720cc72c761af8025e730f8378ce (refs/heads/xxx)
want 811b5bea55533bcc158da1a568b92a070a5aff46 (refs/heads/xxx)
want 8a46fb3dedb55e63fa580541c9f7633d425a8ea2 (refs/heads/xxx)
want d81598d11edcbda0e020b63c3ae6084029b0714c (refs/heads/xxx)
want 0641ea1ab05775a73f7e99342859ee638b534159 (refs/heads/xxx)
want 837466f5fbd51cf21c93e5d44124dce42deac469 (refs/heads/trunk)
want 8225bf4201c14518eef7c81c8964b5f11b12c0eb (refs/heads/xxx)
want d366df049d50d879cc3dfaced812ebac91a987ba (refs/heads/xxx)
want c47ff2f1b8155dd8a9e0113fd92c3a109dce72b7 (refs/heads/xxx)
want dd136cdae6ef772323b922c15b616ad987de (refs/tags/admin-20141016-163909)
skip 150-odd tags with the same format

skip lots of back anf forth have/ack, here are the apache logs for them
10.189.174.96 - - [20/Oct/2014:15:41:04 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 904
10.189.174.96 - - [20/Oct/2014:15:41:04 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 1576
10.189.174.96 - - [20/Oct/2014:15:41:04 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 3312
10.189.174.96 - - [20/Oct/2014:15:41:04 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 6784
10.189.174.96 - - [20/Oct/2014:15:41:04 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 13728
10.189.174.96 - - [20/Oct/2014:15:41:05 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 27840
10.189.174.96 - - [20/Oct/2014:15:41:05 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 55392
10.189.174.96 - - [20/Oct/2014:15:41:05 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 112456
10.189.174.96 - - [20/Oct/2014:15:41:06 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 169800
10.189.174.96 - - [20/Oct/2014:15:41:06 +0200] POST 
/git/main.git/git-upload-pack HTTP/1.1 200 227144

skip lots of acks
got ack 3 87f1981596402d37d905dfb5356be7aa99020053
got ack 3 5ed75db2add2ae8abfb888fac1502ed3fac0221e
got ack 3 ee08fd65a137548c6769bf703f4da07307c3023d
skip lots of haves
have d6d890f55dcf83d1f6a6328c07a57b0c60f28e30
have bd94ba6d06011aaaf620abcea37e756a590bebd5
have 3946073390c2548a3f065c88f41a4b8964b9a2dd
have 34f881dbb4af0e3b090a93b17fba9c31b7771f61
have a7c18a679ce9e6eefe7930556735b29ecfc33952
POST git-upload-pack (gzip 262103 to 130185 bytes)
* Couldn't find host xxx.booking.com in the .netrc file; using defaults
* Re-using existing 

Re: __git_ps1_colorize__gitstring() in git_prompt.sh: colors are hardcoded?

2014-10-20 Thread Michael J Gruber
nathdwek schrieb am 17.10.2014 um 19:30:
 Hello,
 
 It seems to me that the colors used to indicate the repo's state in the
 prompt are hardcoded although the top comment says otherwise.
 
 From contrib/completion/git-contrib.sh:
 
 [83]# If you would like a colored hint about the current dirty state, set
 # GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on
 # the colored output of git status -sb and are available only when
 # using __git_ps1 for PROMPT_COMMAND or precmd.

That should have said ... on the default colors used for the colored
output of...

 [228]__git_ps1_colorize_gitstring ()
 {
   if [[ -n ${ZSH_VERSION-} ]]; then
   local c_red='%F{red}'
   local c_green='%F{green}'
   local c_lblue='%F{blue}'
   local c_clear='%f'
   else
   # Using \[ and \] around colors is necessary to prevent
   # issues with command line editing/browsing/completion!
   local c_red='\[\e[31m\]'
   local c_green='\[\e[32m\]'
   local c_lblue='\[\e[1;34m\]'
   local c_clear='\[\e[0m\]'
   fi
   local bad_color=$c_red
   local ok_color=$c_green
   local flags_color=$c_lblue
 
   local branch_color=
 
 
 As expected upon seeing this snippet, the color.status.slot entries in
 the git config file do modify the git status -sb output but don't modify
 the colors used in the prompt.
 
 Regards,
 
 Nathan

The script could query config for these colors, but that would amount to
4 additional forks and git config calls each time a prompt is
generated. If you want the colors to be configurable, you should
probably rather introduce environment variables - or edit your copy of
the script ;)

Cheers,
Michael

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Sources for 3.18-rc1 not uploaded

2014-10-20 Thread Linus Torvalds
Junio, Brian,

  it seems that the stability of the git tar output is broken.

On Mon, Oct 20, 2014 at 4:59 AM, Konstantin Ryabitsev
konstan...@linuxfoundation.org wrote:

 Looks like 3.18-rc1 upload didn't work:

 This is why the front page still lists 3.17 as the latest mainline. Want
 to try again?

Ok, tried again, and failed again.

 If that still doesn't work, you may have to use version 1.7 of git when
 generating the tarball and signature -- I recall Greg having a similar
 problem in the past.

Ugh, yes, that seems to be it. Current git generates different
tar-files than older releases do:

   tar-1.7.9.7 tar-cur differ: byte 107, line 1

and a quick bisection shows that it is due to commit 10f343ea814f
(archive: honor tar.umask even for pax headers) in the current git
development version.

Junio, quite frankly, I don't think that that fix was a good idea. I'd
suggest having a *separate* umask for the pax headers, so that we do
not  break this long-lasting stability of git archive output in ways
that are unfixable and not compatible. kernel.org has relied (for a
*long* time) on being able to just upload the signature of the
resulting tar-file, because both sides can generate the same tar-fiel
bit-for-bit.

So instead of using tar_umask, please make it use tar_pax_umask,
and have that default to 000. Ok?

Something like the attached patch.

Or just revert 10f343ea814f entirely.

   Linus
From d5ca7ae0a34e31c48397f59b03ecabda7c5c40b2 Mon Sep 17 00:00:00 2001
From: Linus Torvalds torva...@linux-foundation.org
Date: Mon, 20 Oct 2014 08:21:38 -0700
Subject: [PATCH] Don't use the default 'tar.umask' for pax headers

That wasn't the original behavior, and doing so breaks the fact that
tar-files are bit-for-bit compatible across git versions.

If you really want to work around broken receiving tar implementations
(dubious, we've not needed to do so before), use [tar] paxumask in the
git config file.  Or maybe we could expose some command line flag to do
so.  But don't break existing format compatibility for dubious gains.

Signed-off-by: Linus Torvalds torva...@linux-foundation.org
---
 archive-tar.c | 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/archive-tar.c b/archive-tar.c
index df2f4c8a6437..40139ea4ee4e 100644
--- a/archive-tar.c
+++ b/archive-tar.c
@@ -14,6 +14,7 @@ static char block[BLOCKSIZE];
 static unsigned long offset;
 
 static int tar_umask = 002;
+static int tar_pax_umask = 000;
 
 static int write_tar_filter_archive(const struct archiver *ar,
 struct archiver_args *args);
@@ -192,7 +193,7 @@ static int write_extended_header(struct archiver_args *args,
 	unsigned int mode;
 	memset(header, 0, sizeof(header));
 	*header.typeflag = TYPEFLAG_EXT_HEADER;
-	mode = 0100666  ~tar_umask;
+	mode = 0100666  ~tar_pax_umask;
 	sprintf(header.name, %s.paxheader, sha1_to_hex(sha1));
 	prepare_header(args, header, mode, size);
 	write_blocked(header, sizeof(header));
@@ -300,7 +301,7 @@ static int write_global_extended_header(struct archiver_args *args)
 	strbuf_append_ext_header(ext_header, comment, sha1_to_hex(sha1), 40);
 	memset(header, 0, sizeof(header));
 	*header.typeflag = TYPEFLAG_GLOBAL_HEADER;
-	mode = 0100666  ~tar_umask;
+	mode = 0100666  ~tar_pax_umask;
 	strcpy(header.name, pax_global_header);
 	prepare_header(args, header, mode, ext_header.len);
 	write_blocked(header, sizeof(header));
@@ -374,6 +375,15 @@ static int git_tar_config(const char *var, const char *value, void *cb)
 		return 0;
 	}
 
+	if (!strcmp(var, tar.paxumask)) {
+		if (value  !strcmp(value, user)) {
+			tar_pax_umask = umask(0);
+		} else {
+			tar_pax_umask = git_config_int(var, value);
+		}
+		return 0;
+	}
+
 	return tar_filter_config(var, value, cb);
 }
 
-- 
2.1.2.330.g565301e



Re: [PATCH] t1304: Set LOGNAME even if USER is unset or null

2014-10-20 Thread W. Trevor King
On Sun, Oct 19, 2014 at 03:49:36PM -0700, Junio C Hamano wrote:
 I'll queue this as-is, but it makes me wonder if we want to do this
 without if/then/fi, e.g.
 
   : ${LOGNAME:=${USER:-$(id -u -n)}

I'm fine with that too.

 Spelling everything out with if/then/fi is obviously at the other
 extreme, i.e.

And I'm fine with this ;).

 More importantly, what if none of the alternatives work?  I
 personally feel it is OK to punt and declare test_done early,
 instead of giving false positive breakages like you saw without this
 patch.

I can put this into a v2 if you like.  Which conditional syntax do you
prefer?

Cheers,
Trevor

-- 
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy


signature.asc
Description: OpenPGP digital signature


Re: [PATCH] object: make add_object_array_with_mode a static function

2014-10-20 Thread Junio C Hamano
Jeff King p...@peff.net writes:

 I think we can take your patch a step further, though, like:

 -- 8 --
 Subject: [PATCH] drop add_object_array_with_mode
 ...

Thanks.  I think I picked up all incrementals in this thread, but
please holler if I missed anything.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Copy mergetool bc3 as bc4

2014-10-20 Thread Junio C Hamano
Olivier Croquette ocroque...@free.fr writes:

 Beyond compare 4 is out since september 2014. The CLI interface
 doesn't seem to have changed compared to the version 3.

Hmph, if this is identical to mergetools/bc3, why is the patch even
needed?  Do we auto-detect something and try to use bc4 which does
not exist and fail, and we must supply a copy as bc4 to prevent it?

It may feel somewhat strange to have to say mergetool --tool=bc3
when you know what you have is version 4 and not version 3, but in
that case, I wonder if there are reasons why calling both versions
just bc is a bad idea.  And assuming that version 5 and later
would keep the same interface, we will not have to worry about that
I have version 7 why do I have to say 3? if we can go that route.

Perhaps version 2 and before are unusable as a mergetool backend or
something?


 Signed-off-by: Olivier Croquette ocroque...@free.fr
 ---
  mergetools/bc4 |   25 +
  1 files changed, 25 insertions(+), 0 deletions(-)
  create mode 100644 mergetools/bc4

 diff --git a/mergetools/bc4 b/mergetools/bc4
 new file mode 100644
 index 000..b6319d2
 --- /dev/null
 +++ b/mergetools/bc4
 @@ -0,0 +1,25 @@
 +diff_cmd () {
 + $merge_tool_path $LOCAL $REMOTE
 +}
 +
 +merge_cmd () {
 + touch $BACKUP
 + if $base_present
 + then
 + $merge_tool_path $LOCAL $REMOTE $BASE \
 + -mergeoutput=$MERGED
 + else
 + $merge_tool_path $LOCAL $REMOTE \
 + -mergeoutput=$MERGED
 + fi
 + check_unchanged
 +}
 +
 +translate_merge_tool_path() {
 + if type bcomp /dev/null 2/dev/null
 + then
 + echo bcomp
 + else
 + echo bcompare
 + fi
 +}
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH V2] core.filemode may need manual action

2014-10-20 Thread Junio C Hamano
Junio C Hamano gits...@pobox.com writes:

 Torsten Bögershausen tbo...@web.de writes:

 - The '+' at an otherwise empty line generates an empty line
   in html, so s/^$/+/

 I think the rule is actually that you cannot have multiple
 paragraphs in an enumerated list the same headword double-colon and
 then indented paragraph way, and need to unindent second and
 subsequent paragraphs, and have + before each of them, i.e.

 .
 |core.fileMode::
 | Here is my first paragraph.
 |+
 |Here is my second one.
 .

 That is how the existing The default is true, except... paragraph
 is done, and I was hoping that you would notice it and follow that
 example.

I took your v2b and reformatted to follow the above; the result
should be queued on 'pu'.

Thanks.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] object: make add_object_array_with_mode a static function

2014-10-20 Thread Jeff King
On Mon, Oct 20, 2014 at 09:21:24AM -0700, Junio C Hamano wrote:

 Jeff King p...@peff.net writes:
 
  I think we can take your patch a step further, though, like:
 
  -- 8 --
  Subject: [PATCH] drop add_object_array_with_mode
  ...
 
 Thanks.  I think I picked up all incrementals in this thread, but
 please holler if I missed anything.

I just checked it (using Thomas's excellent tbdiff tool) and you have
everything. Thanks, and sorry for feeding it so piecemeal. :)

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] doc: fix 'git status --help' character quoting

2014-10-20 Thread Junio C Hamano
Philip Oakley philipoak...@iee.org writes:

 From: Junio C Hamano gits...@pobox.com
 Philip Oakley philipoak...@iee.org writes:

 Correct backtick quoting for some of the modification states to give
 consistent web rendering.

 This is to match the way how XY PATH1 - PATH2 is typeset, I
 presume.  Some in the body text are already `XY` to match, but some
 others are not,
 and you are fixing them, all of which look good.

 Do you need me to add this to the commit message?

Nah, it already mentions consistent; I was just double checking
that I correctly understod consistency with what part of existing
doc is achieved with the patch.

 The reason I proposed the change is because on the web view, on my
 machine, I questioned whether the specially formatted character
 (remember its quotation is consumed by ascidoc) looked too much like
 an Oh, so I specially checked on the original .txt to see if it was
 correct there, which led me to the proposal for '00' in this case.

 I'd be just as happy with a single zero, as long as it's distinct from
 O (as you probably know, in the depths of hsitory typewriters didn't
 even have 0 and 1 keys - the O and l were used interchangably and many
 fonts keep too much to that pattern of undifferetiability!)

Yes, and that is why I said

 there is
 no risk for anybody to mistake O (oh) as part of digits, whether
 you use decimal or hexadecimal.

;-)

 Note the more recent http://git-scm.com/docs/git-status has the
 formatted round o and

I think it is just the font. I just opened the above page with
Chrome and futzed the text from '0' to '0123456789' to see how it
look.  That round thing is consistent with how other digits are
rendered.

https://plus.google.com/u/0/+JunioCHamano/posts/dzNXV2FwP6K

(sorry for a URL to plus)

 https://www.kernel.org/pub/software/scm/git/docs/git-status.html
 (which IIUC is out of date) has an unformatted 0.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Copy mergetool bc3 as bc4

2014-10-20 Thread Junio C Hamano
Junio C Hamano gits...@pobox.com writes:

 Olivier Croquette ocroque...@free.fr writes:

 Beyond compare 4 is out since september 2014. The CLI interface
 doesn't seem to have changed compared to the version 3.

 Hmph, if this is identical to mergetools/bc3, why is the patch even
 needed?  Do we auto-detect something and try to use bc4 which does
 not exist and fail, and we must supply a copy as bc4 to prevent it?

 It may feel somewhat strange to have to say mergetool --tool=bc3
 when you know what you have is version 4 and not version 3, but in
 that case, I wonder if there are reasons why calling both versions
 just bc is a bad idea.  And assuming that version 5 and later
 would keep the same interface, we will not have to worry about that
 I have version 7 why do I have to say 3? if we can go that route.

 Perhaps version 2 and before are unusable as a mergetool backend or
 something?

It seems that ffe6dc08 (mergetool--lib: Add Beyond Compare 3 as a
tool, 2011-02-27) is the first mention of Beyond Compare and it
only was interested in version 3 and nothing else.

Perhaps something like this, so that existing users can still use
bc3 and other people can use bc if it bothers them that they
have to say 3 when the backend driver works with both 3 and 4?

---
 contrib/completion/git-completion.bash |  2 +-
 git-mergetool--lib.sh  |  2 +-
 mergetools/{bc3 = bc} |  0
 mergetools/bc3 | 26 +-
 4 files changed, 3 insertions(+), 27 deletions(-)

diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index d548e99..01259cc 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1203,7 +1203,7 @@ _git_diff ()
 }
 
 __git_mergetools_common=diffuse diffmerge ecmerge emerge kdiff3 meld opendiff
-   tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3 
codecompare
+   tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc 
codecompare
 
 
 _git_difftool ()
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index c45a020..1d8a26d 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
@@ -250,7 +250,7 @@ list_merge_tool_candidates () {
tools=opendiff kdiff3 tkdiff xxdiff meld $tools
fi
tools=$tools gvimdiff diffuse diffmerge ecmerge
-   tools=$tools p4merge araxis bc3 codecompare
+   tools=$tools p4merge araxis bc bc3 codecompare
fi
case ${VISUAL:-$EDITOR} in
*vim*)
diff --git a/mergetools/bc3 b/mergetools/bc
similarity index 100%
rename from mergetools/bc3
rename to mergetools/bc
diff --git a/mergetools/bc3 b/mergetools/bc3
dissimilarity index 100%
index b6319d2..5d8dd48 100644
--- a/mergetools/bc3
+++ b/mergetools/bc3
@@ -1,25 +1 @@
-diff_cmd () {
-   $merge_tool_path $LOCAL $REMOTE
-}
-
-merge_cmd () {
-   touch $BACKUP
-   if $base_present
-   then
-   $merge_tool_path $LOCAL $REMOTE $BASE \
-   -mergeoutput=$MERGED
-   else
-   $merge_tool_path $LOCAL $REMOTE \
-   -mergeoutput=$MERGED
-   fi
-   check_unchanged
-}
-
-translate_merge_tool_path() {
-   if type bcomp /dev/null 2/dev/null
-   then
-   echo bcomp
-   else
-   echo bcompare
-   fi
-}
+. $MERGE_TOOLS_DIR/bc
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Please reply

2014-10-20 Thread Jose Calvache
Dear Sir/Madam, Here is a pdf attachment of my proposal to you. Please
read and reply I would be grateful. Jose Calvache

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Copy mergetool bc3 as bc4

2014-10-20 Thread Sebastian Schuberth
On 20.10.2014 19:32, Junio C Hamano wrote:

 Beyond compare 4 is out since september 2014. The CLI interface
 doesn't seem to have changed compared to the version 3.

 Hmph, if this is identical to mergetools/bc3, why is the patch even
 needed?  Do we auto-detect something and try to use bc4 which does
 not exist and fail, and we must supply a copy as bc4 to prevent it?

The patch is indeed not needed, which is why I haven't cared to provide it so 
far although I'm now using Beyond Compare 4 instead of version 3 myself.

 It may feel somewhat strange to have to say mergetool --tool=bc3
 when you know what you have is version 4 and not version 3, but in

That's exactly the only reason I could think of why it could be nice to have a 
bc4.

 that case, I wonder if there are reasons why calling both versions
 just bc is a bad idea.  And assuming that version 5 and later

IMHO, the only reason not to just have a single bc is to maintain backward 
compatibility for users already using bc3. But for the sake of cleaner code, 
personally I'd be fine with that minor backward compatibility breakage.

 Perhaps version 2 and before are unusable as a mergetool backend or
 something?
 
 It seems that ffe6dc08 (mergetool--lib: Add Beyond Compare 3 as a
 tool, 2011-02-27) is the first mention of Beyond Compare and it
 only was interested in version 3 and nothing else.

Beyond Compare versions prior to 3 do not run on Linux, but only on Windows, 
which is why I did not care to submit a patch.

 Perhaps something like this, so that existing users can still use
 bc3 and other people can use bc if it bothers them that they
 have to say 3 when the backend driver works with both 3 and 4?

That indeed sounds like the best approach.

 --- a/git-mergetool--lib.sh
 +++ b/git-mergetool--lib.sh
 @@ -250,7 +250,7 @@ list_merge_tool_candidates () {
   tools=opendiff kdiff3 tkdiff xxdiff meld $tools
   fi
   tools=$tools gvimdiff diffuse diffmerge ecmerge
 - tools=$tools p4merge araxis bc3 codecompare
 + tools=$tools p4merge araxis bc bc3 codecompare

Why keep bc3 here?

And shouldn't we update git-gui/lib/mergetool.tcl, too?

-- 
Sebastian Schuberth

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Sources for 3.18-rc1 not uploaded

2014-10-20 Thread Junio C Hamano
Linus Torvalds torva...@linux-foundation.org writes:

 Junio, Brian,

   it seems that the stability of the git tar output is broken.

 On Mon, Oct 20, 2014 at 4:59 AM, Konstantin Ryabitsev
 konstan...@linuxfoundation.org wrote:

 Looks like 3.18-rc1 upload didn't work:

 This is why the front page still lists 3.17 as the latest mainline. Want
 to try again?

 Ok, tried again, and failed again.

 If that still doesn't work, you may have to use version 1.7 of git when
 generating the tarball and signature -- I recall Greg having a similar
 problem in the past.

 Ugh, yes, that seems to be it. Current git generates different
 tar-files than older releases do:

tar-1.7.9.7 tar-cur differ: byte 107, line 1

 and a quick bisection shows that it is due to commit 10f343ea814f
 (archive: honor tar.umask even for pax headers) in the current git
 development version.

 Junio, quite frankly, I don't think that that fix was a good idea. I'd
 suggest having a *separate* umask for the pax headers, so that we do
 not  break this long-lasting stability of git archive output in ways
 that are unfixable and not compatible. kernel.org has relied (for a
 *long* time) on being able to just upload the signature of the
 resulting tar-file, because both sides can generate the same tar-fiel
 bit-for-bit.

 So instead of using tar_umask, please make it use tar_pax_umask,
 and have that default to 000. Ok?

 Something like the attached patch.

 Or just revert 10f343ea814f entirely.

My preference for this particular one however is to simply revert
it.  I do not see much point in bending backwards to treat older
implementations of tar that do not understand extended pax headers
very specially by adding a separate option or configuration, even
though I wouldn't have minded if the original implementation were to
apply the same umask for these entries that look like dummy files
to them.

I have to wonder why 10f343ea (archive: honor tar.umask even for pax
headers, 2014-08-03) is a problem but an earlier change v1.8.1.1~8^2
(archive-tar: split long paths more carefully, 2013-01-05), which
also should have broken bit-for-bit compatibility, went unnoticed,
though.  What I am getting at is that correcting past mistakes in
the output should not be forbidden unconditionally with a complaint
like this.

If 10f343ea were an important fix, then my preference would have
been to instead add tar_ignore_umask_in_pax_header to allow those
who care more about bit-for-bit compatibility with older broken
versions than correctness to conditionally disable its code.  But I
do not think it is, so my preference isn't.

Thanks.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] t1304: Set LOGNAME even if USER is unset or null

2014-10-20 Thread Junio C Hamano
W. Trevor King wk...@tremily.us writes:

 On Sun, Oct 19, 2014 at 03:49:36PM -0700, Junio C Hamano wrote:
 I'll queue this as-is, but it makes me wonder if we want to do this
 without if/then/fi, e.g.
 
  : ${LOGNAME:=${USER:-$(id -u -n)}

 I'm fine with that too.

 Spelling everything out with if/then/fi is obviously at the other
 extreme, i.e.

 And I'm fine with this ;).

 More importantly, what if none of the alternatives work?  I
 personally feel it is OK to punt and declare test_done early,
 instead of giving false positive breakages like you saw without this
 patch.

 I can put this into a v2 if you like.  Which conditional syntax do you
 prefer?

Probably

if test -z $LOGNAME
then
LOGNAME=${USER:-$(id -u -n)}
else
: cannot test acl operations without a usable user name
test_punt!
fi

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Sources for 3.18-rc1 not uploaded

2014-10-20 Thread Konstantin Ryabitsev
On 20/10/14 02:28 PM, Junio C Hamano wrote:
 I have to wonder why 10f343ea (archive: honor tar.umask even for pax
 headers, 2014-08-03) is a problem but an earlier change v1.8.1.1~8^2
 (archive-tar: split long paths more carefully, 2013-01-05), which
 also should have broken bit-for-bit compatibility, went unnoticed,
 though.  What I am getting at is that correcting past mistakes in
 the output should not be forbidden unconditionally with a complaint
 like this.

I think Greg actually ran into that one, and uses a separate 1.7 git
tree for this reason.

I can update our servers to git 2.1 (which most of them already have),
which should help with previous incompatibilities -- but not the future
ones obviously. :)

-K
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Copy mergetool bc3 as bc4

2014-10-20 Thread Junio C Hamano
Sebastian Schuberth sschube...@gmail.com writes:

 Perhaps something like this, so that existing users can still use
 bc3 and other people can use bc if it bothers them that they
 have to say 3 when the backend driver works with both 3 and 4?

 That indeed sounds like the best approach.

 --- a/git-mergetool--lib.sh
 +++ b/git-mergetool--lib.sh
 @@ -250,7 +250,7 @@ list_merge_tool_candidates () {
  tools=opendiff kdiff3 tkdiff xxdiff meld $tools
  fi
  tools=$tools gvimdiff diffuse diffmerge ecmerge
 -tools=$tools p4merge araxis bc3 codecompare
 +tools=$tools p4merge araxis bc bc3 codecompare

 Why keep bc3 here?

I didn't carefully look at the code that uses this list to see if we
have to list everything or can list just the ones we recommend, and
erred on the safer side (unlike the one for completion where I
omitted bc3 as deprecated).

I'll let mergetools experts decide when rolling the final patch ;-)

 And shouldn't we update git-gui/lib/mergetool.tcl, too?

Yes we should, but git-gui is not in my bailiwick, and shouldn't be
done relative to my tree anyway.  I'll Cc this message to Pat.

Thanks.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 0/3] Allow building Git with Asciidoctor

2014-10-20 Thread Junio C Hamano
Too late that the original is already in 'next'.  Care to reroll as
an incremental, plaese?

Thanks.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] doc: fix 'git status --help' character quoting

2014-10-20 Thread Philip Oakley

From: Junio C Hamano gits...@pobox.com

Philip Oakley philipoak...@iee.org writes:


From: Junio C Hamano gits...@pobox.com

Philip Oakley philipoak...@iee.org writes:


...

[ (ASCII 0) change]

The reason I proposed the change is because on the web view, on my
machine, I questioned whether the specially formatted character
(remember its quotation is consumed by ascidoc) looked too much like
an Oh, so I specially checked on the original .txt to see if it was
correct there, which led me to the proposal for '00' in this case.

I'd be just as happy with a single zero, as long as it's distinct 
from

O (as you probably know, in the depths of hsitory typewriters didn't
even have 0 and 1 keys - the O and l were used interchangably and 
many

fonts keep too much to that pattern of undifferetiability!)


Yes, and that is why I said


there is
no risk for anybody to mistake O (oh) as part of digits, whether
you use decimal or hexadecimal.


;-)


Note the more recent http://git-scm.com/docs/git-status has the
formatted round o and


I think it is just the font. I just opened the above page with
Chrome and futzed the text from '0' to '0123456789' to see how it
look.  That round thing is consistent with how other digits are
rendered.

https://plus.google.com/u/0/+JunioCHamano/posts/dzNXV2FwP6K

(sorry for a URL to plus)


https://www.kernel.org/pub/software/scm/git/docs/git-status.html
(which IIUC is out of date) has an unformatted 0.

--


I've just had a look at how it formats when the zero is back-tick quoted 
s /ASCII 0/ASCII `0`/ and it looks OK with both Chromium and Firefox on 
my hack Ubuntu laptop - the character is colourised and full sized, and 
the --man page output looks unchanged and clearly a zero.


my hacky attempt at an in-line patch (squash in?) below:
--
Philip
-8
commit 51ec35a196057eae60bb9285c38fb22e49aae1b0
Author: Philip Oakley philipoak...@iee.org
Date:   Mon Oct 20 20:21:56 2014 +0100

   doc: 'git status' quote the zero (NUL) character

   Newer web rendering of 'git status --help --web' shows the zero in
   NUL (ASCII 0) as if it is a small 'o' character. Back-tick quote 
the

   zero to ensure it is displayed as a full size mono-spaced font.

   Signed-off-by: Philip Oakley philipoak...@iee.org

diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt
index 4d8d530..379aa08 100644
--- a/Documentation/git-status.txt
+++ b/Documentation/git-status.txt
@@ -189,7 +189,7 @@ There is also an alternate -z format recommended for 
machine parsing. In

that format, the status field is the same, but some other things
change.  First, the '\-' is omitted from rename entries and the field
order is reversed (e.g 'from \- to' becomes 'to from'). Second, a NUL
-(ASCII 0) follows each filename, replacing space as a field separator
+(ASCII `0`) follows each filename, replacing space as a field separator
and the terminating newline (but a space still separates the status
field from the first filename).  Third, filenames containing special
characters are not specially formatted; no quoting or 


--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Sources for 3.18-rc1 not uploaded

2014-10-20 Thread Junio C Hamano
Konstantin Ryabitsev konstan...@linuxfoundation.org writes:

 On 20/10/14 02:28 PM, Junio C Hamano wrote:
 I have to wonder why 10f343ea (archive: honor tar.umask even for pax
 headers, 2014-08-03) is a problem but an earlier change v1.8.1.1~8^2
 (archive-tar: split long paths more carefully, 2013-01-05), which
 also should have broken bit-for-bit compatibility, went unnoticed,
 though.  What I am getting at is that correcting past mistakes in
 the output should not be forbidden unconditionally with a complaint
 like this.

 I think Greg actually ran into that one, and uses a separate 1.7 git
 tree for this reason.

 I can update our servers to git 2.1 (which most of them already have),
 which should help with previous incompatibilities -- but not the future
 ones obviously. :)

Updating to 2.1 will hopefully correct the change in v1.8.1.1~8^2,
and will break Greg and friends who stick to 1.7 for that reason,
though.

The breakage in 10f343ea was only in the 'master' branch and
upwards, which is not yet released in any tagged version, and I just
reverted it from my tree, so people on the cutting edge will be okay
in a short order.

Thanks.


--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] doc: fix 'git status --help' character quoting

2014-10-20 Thread Junio C Hamano
Philip Oakley philipoak...@iee.org writes:

 From: Junio C Hamano gits...@pobox.com
 ...
 I think it is just the font. I just opened the above page with
 Chrome and futzed the text from '0' to '0123456789' to see how it
 look.  That round thing is consistent with how other digits are
 rendered.

 https://plus.google.com/u/0/+JunioCHamano/posts/dzNXV2FwP6K

 (sorry for a URL to plus)

 https://www.kernel.org/pub/software/scm/git/docs/git-status.html
 (which IIUC is out of date) has an unformatted 0.
 --

 I've just had a look at how it formats when the zero is back-tick
 quoted s /ASCII 0/ASCII `0`/ and it looks OK with both Chromium and
 Firefox on my hack Ubuntu laptop - the character is colourised and
 full sized, and the --man page output looks unchanged and clearly a
 zero.

 my hacky attempt at an in-line patch (squash in?) below:

You'd need a matching change to 34 in the same document to preserve
the consistency the original patch sought, though ;-)
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


NOTE:THIS IS YOUR PACKAGE REGISTERED CODE NO OVX950

2014-10-20 Thread Rev. Dr. DOUGLAS MORRISON

NOTE:THIS IS YOUR PACKAGE REGISTERED CODE NO OVX950.

I want to acknowledge you that we have finally succeeded in getting your ATM 
VISA CARD worth’s of $7.5USD out of  ECOWAS  department with the help of Mr. 
James George Attorney General of Federal High Court of Justice so you are 
advised to reconfirm your full delivery information to the Agent Jerry cook 
right now as he is currently at J.F.K International Airport new York USA, you 
have to Email him with your Information, because he have be successful arrival 
with your ATM VISA CARD and also has already called me with his number on his 
arrival 4hours ago So  contact him to deliver your ATM CARD first thing 
tomorrow morning possibly today Make sure the bellow stated codes are 
identified when contacting him and also ask him to give you his mobile  phone 
number so that to be having easy conversation with him and to enable you give 
him your full direction to get your ATM CARD delivered to you and hand you over 
your ATM CARD safe and sound, Furthermore u are advice 2 be very fast as the 
Agent Jerry cook has no time to waste due to his flight ticket. so contact him  
now with the needed Information now From my office and tT56he director of the 
Company Rev. Dr. DOUGLAS MORRISON

SHIPMENT CODE GJK72DWQ
PACKAGE REGISTERED CODE NO OVX950.
SECURITY CODE EYTU/3055WEZ/263/
TRANSACTION CODE 7126/JLFS/7138/17305/
CERTIFICATE DEPOSIT CODE MCBS/PQLE/2-6/41

Full Name=
Mobile Phone Number
City
Nearest Airport ===
Country=
Current Home Address

his name is  DIPLOMATIC Jerry Cook
Email ;(diplomatjerrycook...@yahoo.com.ph)

SINCERELY
Rev. Dr. DOUGLAS MORRISON
CALL ME AFTER GOING THROUGH THE EMAIL +229-9965 -1107
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] doc: fix 'git status --help' character quoting

2014-10-20 Thread Junio C Hamano
Junio C Hamano gits...@pobox.com writes:

 Philip Oakley philipoak...@iee.org writes:

 From: Junio C Hamano gits...@pobox.com
 ...
 I think it is just the font. I just opened the above page with
 Chrome and futzed the text from '0' to '0123456789' to see how it
 look.  That round thing is consistent with how other digits are
 rendered.

 https://plus.google.com/u/0/+JunioCHamano/posts/dzNXV2FwP6K

 (sorry for a URL to plus)

 https://www.kernel.org/pub/software/scm/git/docs/git-status.html
 (which IIUC is out of date) has an unformatted 0.
 --

 I've just had a look at how it formats when the zero is back-tick
 quoted s /ASCII 0/ASCII `0`/ and it looks OK with both Chromium and
 Firefox on my hack Ubuntu laptop - the character is colourised and
 full sized, and the --man page output looks unchanged and clearly a
 zero.

 my hacky attempt at an in-line patch (squash in?) below:

 You'd need a matching change to 34 in the same document to preserve
 the consistency the original patch sought, though ;-)

Not that I think such a change makes much sense.

If there was a way to force use of a font whose numerals and I/O are
more clearly distinguishable and we do so for all HTML documents we
generate, that would be a good change that is not limited to these
places, though.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Copy mergetool bc3 as bc4

2014-10-20 Thread Olivier Croquette
On 20 Oct 2014, at 19:32, Junio C Hamano gits...@pobox.com wrote:
 Perhaps something like this, so that existing users can still use
 bc3 and other people can use bc if it bothers them that they
 have to say 3 when the backend driver works with both 3 and 4?

Thanks for the quick and great feedback.
This looks good to me. I used “bc4 just for consistency sake and to preserve 
backwards compatibility, but introducing “bc” as a generic backend looks indeed 
as a better approach.
It’s even future safe, because it doesn’t prevent introducing bc5 if required 
later on.

Olivier

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


please document --cached option to git-difftool

2014-10-20 Thread Joseph Nahmias
Hello,

It would be great if the documentation showed that the git-difftool(1)
command accepted the --cached option.  You can probably steal appropriate
verbiage from the git-diff(1) manpage.

$ git --version
git version 2.1.1

Thanks,
--Joe
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


What's cooking in git.git (Oct 2014, #05; Mon, 20)

2014-10-20 Thread Junio C Hamano
Here are the topics that have been cooking.  Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.

According to tinyurl.com/gitCal, the feature freeze for this cycle
is scheduled to happen at the end of this month.  What's in the
'next' branch as of today gives us a more or less complete picture,
I would think.  I'd like to ask area maintainers of git-svn, gitk
and git-gui to please prepare to wrap up the accumulated changes for
this cycle and throw a pull request to me.  Thanks.

You can find the changes described here in the integration branches
of the repositories listed at

http://git-blame.blogspot.com/p/git-public-repositories.html

--
[Graduated to master]

* bc/asciidoc (2014-10-13) 2 commits
  (merged to 'next' on 2014-10-14 at d9ff206)
 + Documentation: fix mismatched delimiters in git-imap-send
 + Documentation: adjust document title underlining
 (this branch is used by bc/asciidoctor.)

 Formatting nitpicks to help a (pickier) reimplementation of
 AsciiDoc to grok our documentation.


* cc/interpret-trailers (2014-10-13) 11 commits
  (merged to 'next' on 2014-10-17 at ee4519c)
 + Documentation: add documentation for 'git interpret-trailers'
 + trailer: add tests for commands in config file
 + trailer: execute command from 'trailer.name.command'
 + trailer: add tests for git interpret-trailers
 + trailer: add interpret-trailers command
 + trailer: put all the processing together and print
 + trailer: parse trailers from file or stdin
 + trailer: process command line trailer arguments
 + trailer: read and process config information
 + trailer: process trailers from input message and arguments
 + trailer: add data structures and basic functions

 A new filter to programatically edit the tail end of the commit log
 messages.


* jk/test-shell-trace (2014-10-13) 3 commits
  (merged to 'next' on 2014-10-14 at 9118506)
 + test-lib.sh: support -x option for shell-tracing
 + t5304: use helper to report failure of test foo = bar
 + t5304: use test_path_is_* instead of test -f
 (this branch is used by jk/prune-mtime.)

 Test scripts were taught to notice -x option to show shell trace,
 as if the tests were run under sh -x.


* jn/parse-config-slot (2014-10-14) 2 commits
  (merged to 'next' on 2014-10-14 at 7f0a3ad)
 + color_parse: do not mention variable name in error message
 + pass config slots as pointers instead of offsets

 Code cleanup.


* rm/gitweb-start-form (2014-10-16) 1 commit
  (merged to 'next' on 2014-10-17 at 7ca427f)
 + gitweb: use start_form, not startform that was removed in CGI.pm 4.04


* rs/receive-pack-argv-leak-fix (2014-10-13) 1 commit
  (merged to 'next' on 2014-10-14 at e64654d)
 + receive-pack: plug minor memory leak in unpack()


* ss/contrib-subtree-contacts (2014-10-15) 2 commits
  (merged to 'next' on 2014-10-17 at 4b3a1d9)
 + contacts: add a Makefile to generate docs and install
 + subtree: add an install-html target


* ta/config-set (2014-10-13) 1 commit
  (merged to 'next' on 2014-10-14 at ed660e4)
 + t1308: fix broken here document in test script

--
[New Topics]

* jk/pack-objects-no-bitmap-when-splitting (2014-10-19) 1 commit
 - pack-objects: turn off bitmaps when we split packs

 Splitting pack-objects output into multiple packs is incompatible
 with the use of reachability bitmap.

 Will merge to 'next'.


* po/doc-status-markup (2014-10-19) 1 commit
 - doc: fix 'git status --help' character quoting

 Update documentation mark-up.

 Will merge to 'next'.


* rs/run-command-env-array (2014-10-19) 2 commits
 - use env_array member of struct child_process
 - run-command: add env_array, an optional argv_array for env

 Add managed env array to child_process to clarify the lifetime
 rules.

 Will merge to 'next'.


* tb/core-filemode-doc (2014-10-19) 1 commit
 - core.filemode may need manual action

 Doc update.

 Will merge to 'next'.


* wk/t1304-wo-USER (2014-10-19) 1 commit
 - t1304: Set LOGNAME even if USER is unset or null

 Will merge to 'next'.

--
[Stalled]

* je/quiltimport-no-fuzz (2014-09-26) 2 commits
 - git-quiltimport: flip the default not to allow fuzz
 - git-quiltimport.sh: allow declining fuzz with --exact option

 quiltimport drove git apply always with -C1 option to reduce
 context of the patch in order to give more chance to somewhat stale
 patches to apply.  Add an --exact option to disable, and also
 -C$n option to customize this behaviour.  The top patch
 optionally flips the default to --exact.

 Waiting for an Ack.


* tr/remerge-diff (2014-09-08) 8 commits
 - log --remerge-diff: show what the conflict resolution changed
 - name-hash: allow dir hashing even when !ignore_case
 - merge-recursive: allow storing conflict hunks in index
 - merge_diff_mode: fold all merge diff variants into an enum
 - combine-diff: do not pass 

Re: Sources for 3.18-rc1 not uploaded

2014-10-20 Thread Greg KH
On Mon, Oct 20, 2014 at 02:37:09PM -0400, Konstantin Ryabitsev wrote:
 On 20/10/14 02:28 PM, Junio C Hamano wrote:
  I have to wonder why 10f343ea (archive: honor tar.umask even for pax
  headers, 2014-08-03) is a problem but an earlier change v1.8.1.1~8^2
  (archive-tar: split long paths more carefully, 2013-01-05), which
  also should have broken bit-for-bit compatibility, went unnoticed,
  though.  What I am getting at is that correcting past mistakes in
  the output should not be forbidden unconditionally with a complaint
  like this.
 
 I think Greg actually ran into that one, and uses a separate 1.7 git
 tree for this reason.

I used to have to do this for the 3.0-stable kernel as one of the files
in it ran into the very long path problem.  I just ran the latest
version of git with that one commit reverted and all was fine.

After 3.0 was done, I just dropped that patch from my local version and
have been running with the latest git version of git with no problems.

 I can update our servers to git 2.1 (which most of them already have),
 which should help with previous incompatibilities -- but not the future
 ones obviously. :)

I thought you already did this.  Or was that only the public facing git
servers?

thanks,

greg k-h
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Sources for 3.18-rc1 not uploaded

2014-10-20 Thread brian m. carlson
On Mon, Oct 20, 2014 at 08:25:59AM -0700, Linus Torvalds wrote:
 Junio, Brian,
 
   it seems that the stability of the git tar output is broken.

It doesn't appear that the stability of git archive --format=tar is
documented anywhere.  Given that, it doesn't seem reasonable to expect
that any tar implementation produces bit-for-bit compatible output
between versions.  After all, look at all the contortions that Debian
has had to go through to keep pristine-tar working.

 Junio, quite frankly, I don't think that that fix was a good idea. I'd
 suggest having a *separate* umask for the pax headers, so that we do
 not  break this long-lasting stability of git archive output in ways
 that are unfixable and not compatible. kernel.org has relied (for a
 *long* time) on being able to just upload the signature of the
 resulting tar-file, because both sides can generate the same tar-fiel
 bit-for-bit.

It sounds like kernel.org has a bug, then.  Perhaps that's the
appropriate place to fix the issue.

The issue I fixed is that leaving world-writable files around on disk is
a great way for people to cause mischief (for example, by filling up
other users' quotas), and some tar implementations and all Linux pax
implementations extract the pax headers into the working directory, and
that's often /tmp.
-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187


signature.asc
Description: Digital signature


Re: Sources for 3.18-rc1 not uploaded

2014-10-20 Thread Linus Torvalds
On Mon, Oct 20, 2014 at 3:28 PM, brian m. carlson
sand...@crustytoothpaste.net wrote:

 It doesn't appear that the stability of git archive --format=tar is
 documented anywhere.  Given that, it doesn't seem reasonable to expect
 that any tar implementation produces bit-for-bit compatible output
 between versions.

The kernel has simple stability rules: if it breaks users, it gets
fixed or reverted. That is a damn good rule.

I realize that some other projects are crap, and don't care about
their users. I hope and believe that git is not in that sad group.

The whole it's not documented excuse is pure and utter bollocks.
Users don't care. And stability of data should be *expected*, not need
some random documentation entry to make it explicit.

  Linus
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Sources for 3.18-rc1 not uploaded

2014-10-20 Thread Konstantin Ryabitsev
On 20/10/14 06:28 PM, brian m. carlson wrote:
 Junio, quite frankly, I don't think that that fix was a good idea. I'd
  suggest having a *separate* umask for the pax headers, so that we do
  not  break this long-lasting stability of git archive output in ways
  that are unfixable and not compatible. kernel.org has relied (for a
  *long* time) on being able to just upload the signature of the
  resulting tar-file, because both sides can generate the same tar-fiel
  bit-for-bit.
 It sounds like kernel.org has a bug, then.  Perhaps that's the
 appropriate place to fix the issue.

It's not a bug, it's a feature (TM). KUP relies on git-archive's ability
to create identical tar archives across platforms and versions. The
benefit is that Linus or Greg can create a detached PGP signature
against a tarball created from git archive [tag] on their system, and
just tell kup to create the same archive remotely, thus saving them the
trouble of uploading 80Mb each time they cut a release.

With their frequent travel to places where upload bandwidth is both slow
and unreliable, this ability to not have to upload hundreds of Mbs each
time they cut a release is very handy and certainly helps keep kernel
releases on schedule.

So, while it's fair to point out that git-archive was never intended to
always create bit-for-bit identical outputs, it would be *very nice* if
this remained in place, as at least one large-ish deployment (us) finds
it really handy.

-K



signature.asc
Description: OpenPGP digital signature


[PATCH] environment.c: add GIT_NAMESPACE to local_repo_env

2014-10-20 Thread Nguyễn Thái Ngọc Duy
This environment variable is added in a1bea2c (ref namespaces:
infrastructure - 2011-07-05). This is clearly repo specific setting
and should not be propagated to subprograms.

In practice, this is not a problem because GIT_NAMESPACE seems
designed for use on the server side and while submodule traversal
stuff happens on the client side.

Signed-off-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com
---
 .. looks like the right thing to do..

 environment.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/environment.c b/environment.c
index 565f652..16628d3 100644
--- a/environment.c
+++ b/environment.c
@@ -100,6 +100,7 @@ const char * const local_repo_env[] = {
NO_REPLACE_OBJECTS_ENVIRONMENT,
GIT_PREFIX_ENVIRONMENT,
GIT_SHALLOW_FILE_ENVIRONMENT,
+   GIT_NAMESPACE_ENVIRONMENT,
NULL
 };
 
-- 
2.0.2.841.g8f98430

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] transport: Free leaking head in transport_print_push_status

2014-10-20 Thread Stefan Beller
From: Stefan Beller sbel...@google.com

Found by scan.coverity.com (ID: 1248110)

Signed-off-by: Stefan Beller sbel...@google.com
---
 transport.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/transport.c b/transport.c
index 055d2a2..fbab6ee 100644
--- a/transport.c
+++ b/transport.c
@@ -774,6 +774,7 @@ void transport_print_push_status(const char *dest, struct 
ref *refs,
*reject_reasons |= REJECT_NEEDS_FORCE;
}
}
+   free(head);
 }
 
 void transport_verify_remote_names(int nr_heads, const char **heads)
-- 
2.1.2.332.g8071e93

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] .mailmap: Add Stefan Bellers corporate mail address

2014-10-20 Thread Stefan Beller
From: Stefan Beller sbel...@google.com

Note that despite the private address being first, Google owns the
copyright on this patch as any other patch I'll be sending signed off
by the sbel...@google.com address.

Signed-off-by: Stefan Beller sbel...@google.com
---
 .mailmap | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.mailmap b/.mailmap
index 8aefb5a..bb6f52e 100644
--- a/.mailmap
+++ b/.mailmap
@@ -205,6 +205,7 @@ Shawn O. Pearce spea...@spearce.org
 Simon Hausmann hausm...@kde.org si...@lst.de
 Simon Hausmann hausm...@kde.org shaus...@trolltech.com
 Stefan Beller stefanbel...@gmail.com stefanbel...@googlemail.com
+Stefan Beller stefanbel...@gmail.com sbel...@google.com
 Stefan Naewe stefan.na...@gmail.com stefan.na...@atlas-elektronik.com
 Stefan Naewe stefan.na...@gmail.com stefan.na...@googlemail.com
 Stefan Sperling s...@elego.de s...@stsp.name
-- 
2.1.2.332.g8071e93

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] git-svn: clear global SVN pool between get_log invocations

2014-10-20 Thread Eric Wong
During long fetches with many revisions, some SVN functions are not
always using local pools and some gets into the global pool.  Ensure
we free that memory occasionally between SVN::RA::get_log calls to
reduce memory growth.

This reduces memory usage over the course of fetching 10K revisions
using a test repository created with the script at the end of this
commit message.

As reported by time(1) on my x86-64 system:

before: 54024k
 after: 47344k

-8--
set -e
tmp=$(mktemp -d svntestrepo-)
svnadmin create $tmp
repo=file://$(cd $tmp  pwd)
svn co $repo $tmp/wd
cd $tmp/wd
if ! test -f a
then
 a
svn add a
svn commit -m 'A'
fi

nr=1
while test $nr -gt 0
do
echo $nr  a
svn commit -q -m A
nr=$((nr - 1))
done
echo repository created in $repo
-8--

Signed-off-by: Eric Wong normalper...@yhbt.net
---
 Pushed to master of git://bogomips.org/git-svn

 However, memory usage still seems to grow infinitely even in this simple
 fetch case, so are other memory leaks.

 perl/Git/SVN/Ra.pm | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/perl/Git/SVN/Ra.pm b/perl/Git/SVN/Ra.pm
index a7b0119..3df4591 100644
--- a/perl/Git/SVN/Ra.pm
+++ b/perl/Git/SVN/Ra.pm
@@ -237,10 +237,6 @@ sub trees_match {
my $ctx = SVN::Client-new(auth = _auth_providers);
my $out = IO::File-new_tmpfile;
 
-   # older SVN (1.1.x) doesn't take $pool as the last parameter for
-   # $ctx-diff(), so we'll create a default one
-   my $pool = SVN::Pool-new_default_sub;
-
$ra_invalid = 1; # this will open a new SVN::Ra connection to $url1
$ctx-diff([], $url1, $rev1, $url2, $rev2, 1, 1, 0, $out, $out);
$out-flush;
@@ -453,6 +449,7 @@ sub gs_fetch_loop_common {
$_[0] = undef;
$self = undef;
$RA = undef;
+   SVN::Core-gpool-clear;
$self = Git::SVN::Ra-new($ra_url);
$ra_invalid = undef;
}
@@ -468,6 +465,7 @@ sub gs_fetch_loop_common {
my $k = svn-remote.$g-{remote}.$g-{t}-maxRev;
Git::SVN::tmp_config($k, $max);
}
+   SVN::Core-gpool-clear;
last if $max = $head;
$min = $max + 1;
$max += $inc;
-- 
EW


-- 
EW
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/2] .mailmap: Add Stefan Bellers corporate mail address

2014-10-20 Thread Junio C Hamano
Stefan Beller stefanbel...@gmail.com writes:

 From: Stefan Beller sbel...@google.com

 Note that despite the private address being first, Google owns the
 copyright on this patch as any other patch I'll be sending signed off
 by the sbel...@google.com address.

While Googlers are encouraged to interact with external open source
projects using their corp address when working as new contributors,
Googlers are also encouraged to keep using the same pre-corp address
when working with projects they have been part of for continuity.

After all, even if you send patches from your @gmail.com address
while being employed by Google, the patches are copyright Google,
not yours, and DCO (a) I have the right to submit covers your
submissions just fine (i.e. it does not say I own the copyright),
as long as you are cleared to contribute your patches to us by
Google's open source office (which I happen to know that you have
already done).

The mailmap is primarily to correct past mistakes and document the
new addresses of those who lost the old address to maintain their
reachability.  It is not about planning to send patches from two
different addresses chosen by the phase of the moon or something.

I do not terribly mind, but is this patch really necessary?


 Signed-off-by: Stefan Beller sbel...@google.com
 ---
  .mailmap | 1 +
  1 file changed, 1 insertion(+)

 diff --git a/.mailmap b/.mailmap
 index 8aefb5a..bb6f52e 100644
 --- a/.mailmap
 +++ b/.mailmap
 @@ -205,6 +205,7 @@ Shawn O. Pearce spea...@spearce.org
  Simon Hausmann hausm...@kde.org si...@lst.de
  Simon Hausmann hausm...@kde.org shaus...@trolltech.com
  Stefan Beller stefanbel...@gmail.com stefanbel...@googlemail.com
 +Stefan Beller stefanbel...@gmail.com sbel...@google.com
  Stefan Naewe stefan.na...@gmail.com stefan.na...@atlas-elektronik.com
  Stefan Naewe stefan.na...@gmail.com stefan.na...@googlemail.com
  Stefan Sperling s...@elego.de s...@stsp.name
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] grep: fix match highlighting for combined patterns with context lines

2014-10-20 Thread Zoltan Klinger
When git grep is run with combined patterns such as '-e p1 --and -e p2'
and surrounding context lines are requested, the output contains
incorrectly highlighted matches.

Consider the following output (highlighted matches are surrounded by '*'
characters):
$ cat testfile
foo a
foo b
foo bar
baz bar foo
bar x
bar y
$ git grep -n -C2 -e foo --and -e bar testfile
testfile-1-*foo* a
testfile-2-*foo* b
testfile:3:*foo* *bar*
testfile:4:baz *bar* *foo*
testfile-5-*bar* x
testfile-6-*bar* y

Lines 1, 2, 5 and 6 do not match the combined patterns, they only
contain incorrectly highlighted 'false positives'.

Modify the show_line() function in grep.c to highlight matches only on
lines that match the combined pattern. Do not highlight matches on lines
that provide only context or contain only the function name of the match.

The output of the same command after the change:
$ git grep -n -C2 -e foo --and -e bar testfile
testfile-1-foo a
testfile-2-foo b
testfile:3:*foo* *bar*
testfile:4:baz *bar* *foo*
testfile-5-bar x
testfile-6-bar y

Signed-off-by: Zoltan Klinger zoltan.klin...@gmail.com
---
 grep.c  |  7 +++--
 t/t7810-grep.sh | 90 +
 2 files changed, 95 insertions(+), 2 deletions(-)

diff --git a/grep.c b/grep.c
index 4dc31ea..3c4d68e 100644
--- a/grep.c
+++ b/grep.c
@@ -1121,9 +1121,12 @@ static void show_line(struct grep_opt *opt, char *bol, 
char *eol,
enum grep_context ctx = GREP_CONTEXT_BODY;
int ch = *eol;
int eflags = 0;
+   char *match_color = NULL;
 
-   if (sign == ':')
+   if (sign == ':') {
line_color = opt-color_selected;
+   match_color = opt-color_match;
+   }
else if (sign == '-')
line_color = opt-color_context;
else if (sign == '=')
@@ -1136,7 +1139,7 @@ static void show_line(struct grep_opt *opt, char *bol, 
char *eol,
output_color(opt, bol, match.rm_so, line_color);
output_color(opt, bol + match.rm_so,
 match.rm_eo - match.rm_so,
-opt-color_match);
+match_color);
bol += match.rm_eo;
rest -= match.rm_eo;
eflags = REG_NOTBOL;
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
index 40615de..b0d6b6f 100755
--- a/t/t7810-grep.sh
+++ b/t/t7810-grep.sh
@@ -1202,4 +1202,94 @@ test_expect_success LIBPCRE 'grep -P ^ ' '
test_cmp expected actual
 '
 
+cat expected EOF
+space-line without leading space1
+space: line REDwith RESETleading space1
+space: line REDwith RESETleading REDspace2RESET
+space: line REDwith RESETleading space3
+space:line without leading REDspace2RESET
+EOF
+
+test_expect_success 'grep --color -e A -e B with context' '
+   test_config color.grep.context  normal 
+   test_config color.grep.filename normal 
+   test_config color.grep.function normal 
+   test_config color.grep.linenumber   normal 
+   test_config color.grep.matchred 
+   test_config color.grep.selected normal 
+   test_config color.grep.separatornormal 
+
+   git grep --color=always -C2 -e with  -e space2  space |
+   test_decode_color actual 
+   test_cmp expected actual
+'
+
+cat expected EOF
+space-line without leading space1
+space- line with leading space1
+space: line REDwith RESETleading REDspace2RESET
+space- line with leading space3
+space-line without leading space2
+EOF
+
+test_expect_success 'grep --color -e A --and -e B with context' '
+   test_config color.grep.context  normal 
+   test_config color.grep.filename normal 
+   test_config color.grep.function normal 
+   test_config color.grep.linenumber   normal 
+   test_config color.grep.matchred 
+   test_config color.grep.selected normal 
+   test_config color.grep.separatornormal 
+
+   git grep --color=always -C2 -e with  --and -e space2  space |
+   test_decode_color actual 
+   test_cmp expected actual
+'
+
+cat expected EOF
+space-line without leading space1
+space: line REDwith RESETleading space1
+space- line with leading space2
+space: line REDwith RESETleading space3
+space-line without leading space2
+EOF
+
+test_expect_success 'grep --color -e A --and --not -e B with context' '
+   test_config color.grep.context  normal 
+   test_config color.grep.filename normal 
+   test_config color.grep.function normal 
+   test_config color.grep.linenumber   normal 
+   test_config color.grep.matchred 
+   test_config