Re: [PATCH 2/6] config doc: rewrite push.default section

2013-06-19 Thread Junio C Hamano
Junio C Hamano writes: > or something like that. Just for a completeness, in a patch form: Documentation/config.txt | 66 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index 8

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Junio C Hamano
Richard Hansen writes: > On 2013-06-19 18:36, Junio C Hamano wrote: >> Ahh. If you had quoted [...] a few exchanges ago I would have >> immediately understood what you were trying to say. > > Sorry about that, my bad. > >> In today's world (after packed-refs was introduced), probably >> >>

Re: [PATCH 3/6] push: change `simple` to accommodate triangular workflows

2013-06-19 Thread Junio C Hamano
Junio C Hamano writes: > Without any configuration the current branch is pushed out, which > loosens the safety we implemented in the current 'safer upstream'. > > I am not convinced this is a good change. I am not convinced this is > a bad change, either, yet, but this loosening smells bad. Pr

[no subject]

2013-06-19 Thread Mr.Vuurhonge Robert
-- hello, Heeft u behoefte aan een lening om uw omstandigheden te helpen? Bent u een zakelijke man of een vrouw? Ben je in een financiële stress of U wilt uw eigen bedrijf, maar geld hebt, heb je een lening te starten of nodig hypothekeren om uw schulden te vereffenen, of betalen van je rekeninge

[PATCH] octopus: fallback on empty tree for ancestor

2013-06-19 Thread R. Andrew Ohana
From: "R. Andrew Ohana" This is preferable to just aborting when no common ancestor is found since it handles merges of intersecting branches. This is incredibly useful functionality when consolidating multiple repositories (potentially after using filter-branch to fix paths). See http://stacko

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Richard Hansen
On 2013-06-19 18:36, Junio C Hamano wrote: > Ahh. If you had quoted [...] a few exchanges ago I would have > immediately understood what you were trying to say. Sorry about that, my bad. > In today's world (after packed-refs was introduced), probably > > A name that begins with refs/ (e.g

[PATCH] misspellings fixes by https://github.com/vlajos/misspell_fixer

2013-06-19 Thread Veres Lajos
Signed-off-by: Veres Lajos --- git-p4.py|2 +- git-svn.perl |2 +- t/t7600-merge.sh |2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/git-p4.py b/git-p4.py index 911bbce..88fcf23 100755 --- a/git-p4.py +++ b/git-p4.py @@ -3168,7 +3168,7 @@ class P4Reba

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Junio C Hamano
Richard Hansen writes: > Here's what I'm trying to say: > > * Given the current definition of "ref" in gitglossary(7), claiming > that a foo-ish is a ref is not entirely incorrect. Ahh. If you had quoted this a few exchanges ago: [[def_ref]]ref:: A 40-byte hex representat

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Richard Hansen
On 2013-06-19 17:05, Junio C Hamano wrote: > Richard Hansen writes: > >> On 2013-06-19 13:14, Junio C Hamano wrote: >>> -ish does not have anything to do with a ref. Even >>> when an object is dangling in your object store without being >>> reachable from any of your refs, it keeps its own "ish"

Re: [PATCH] diff: add --ignore-blank-lines option

2013-06-19 Thread Junio C Hamano
Antoine Pelisse writes: > So here is a more thorough description of the option: > - real changes are interesting > - blank lines that are close enough (less than context size) to > interesting changes are considered interesting (recursive definition) > - "context" lines are used around each hunk

Re: [PATCH 6/6] t/t5528-push-default: test pushdefault workflows

2013-06-19 Thread Junio C Hamano
Ramkumar Ramachandra writes: > Introduce test_pushdefault_workflows(), and test that all push.default > modes work with central and triangular workflows as expected. > > Signed-off-by: Ramkumar Ramachandra > --- > t/t5528-push-default.sh | 36 > 1 file chang

Re: [PATCH 5/6] t/t5528-push-default: generalize test_push_*

2013-06-19 Thread Junio C Hamano
Ramkumar Ramachandra writes: > The setup creates two bare repositories: repo1 and repo2, but > test_push_commit() hard-codes checking in repo1 for the actual output. > Generalize it and its caller, test_push_success(), to optionally accept > a third argument to specify the name of the repository

Re: [PATCH 1/4] glossary: add 'treeish' as a synonym for 'tree-ish'

2013-06-19 Thread Junio C Hamano
Richard Hansen writes: > Perhaps something like: > > -[[def_tree-ish]]tree-ish:: > +[[def_tree-ish]]tree-ish (sometimes misspelled treeish):: > > would be satisfactory? If it is a misspelling, I do not think we need to list both. An entry "tree-ish" can be found if you were looking for treeish.

Re: [PATCH 1/2] Documentation: Update 'linux-2.6.git' -> 'linux.git'

2013-06-19 Thread Junio C Hamano
"W. Trevor King" writes: > I think any doc rewrites should be outside the scope of this patch, > which should just replace references to linux-2.6.git with linux.git > (as it does). OK. > Should the size updates from 2/2 (user-manual: Update download size > for Git and the kernel) go into the

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Junio C Hamano
Richard Hansen writes: > On 2013-06-19 13:14, Junio C Hamano wrote: >> -ish does not have anything to do with a ref. Even >> when an object is dangling in your object store without being >> reachable from any of your refs, it keeps its own "ish"-ness. > > Ah, so your personal definition of "ref"

Re: [PATCH 1/2] Documentation: Update 'linux-2.6.git' -> 'linux.git'

2013-06-19 Thread W. Trevor King
On Wed, Jun 19, 2013 at 10:07:24AM -0700, Junio C Hamano wrote: > "W. Trevor King" writes: > > > diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt > > index a0727d7..8e5260f 100644 > > --- a/Documentation/git-clone.txt > > +++ b/Documentation/git-clone.txt > > @@ -274,7 +274,

Re: [PATCH 1/4] glossary: add 'treeish' as a synonym for 'tree-ish'

2013-06-19 Thread Richard Hansen
On 2013-06-19 13:09, Junio C Hamano wrote: > Richard Hansen writes: > >> The documentation contains a mix of the two spellings, and including >> both makes it possible for users to search the glossary with their >> spelling of choice. > > Is it an option to instead find dashless form in our docu

Re: [PATCH] peel_onion(): add support for ^{tag}

2013-06-19 Thread Richard Hansen
On 2013-06-19 14:38, Junio C Hamano wrote: > Richard Hansen writes: > >> gitrevisions(7) implies that ^{tag} should work,... > > Does it? Is it possible that that should be fixed? Depends on whether you think ^{tag} is a useful feature or not; see below. > > What does it even _mean_ to peel

Re: [PATCH 4/6] push: remove dead code in setup_push_upstream()

2013-06-19 Thread Junio C Hamano
Ramkumar Ramachandra writes: > Now that simple has been decoupled from upstream in setup_push_simple(), > remove the dead code in setup_push_upstream(). Good. > > Signed-off-by: Ramkumar Ramachandra > --- > builtin/push.c | 6 ++ > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff

Re: [PATCH 3/6] push: change `simple` to accommodate triangular workflows

2013-06-19 Thread Junio C Hamano
Ramkumar Ramachandra writes: > When remote.pushdefault or branch..pushremote is set (a triangular > workflow feature), master@{u} != origin, and push.default is set to > `upstream` or `simple`: > > $ git push > fatal: You are pushing to remote 'origin', which is not the upstream of > your c

Re: [PATCH 2/6] config doc: rewrite push.default section

2013-06-19 Thread Junio C Hamano
Ramkumar Ramachandra writes: > push.default:: > + Defines the action `git push` should take if no refspec is > + explicitly given. Different values are well-suited for > + specific workflows; for instance, in a purely central workflow > + (i.e. the fetch source is equal to the p

Re: accessing oldest reflog entry with ref@{N}?

2013-06-19 Thread Jeff King
On Wed, Jun 19, 2013 at 11:48:01AM -0700, Junio C Hamano wrote: > SZEDER Gábor writes: > > > $ git log --oneline -1 master@{1} > > fatal: Log for 'master' only has 1 entries. > > > > Annoyed, I just copy-pasted the sha and got the job done. > > > > However, I wonder why it didn't worked. 'git re

Re: [PATCH 1/6] t/t5528-push-default: remove redundant test_config lines

2013-06-19 Thread Junio C Hamano
Ramkumar Ramachandra writes: > The line > > test_config push.default upstream > > appears unnecessarily in two tests, as the final test_push_failure sets > push.default before pushing anyway. > > Signed-off-by: Ramkumar Ramachandra > --- > t/t5528-push-default.sh | 2 -- > 1 file changed, 2 d

Re: [PATCH v2 04/12] refs: implement simple transactions for the packed-refs file

2013-06-19 Thread Junio C Hamano
Michael Haggerty writes: > Handle simple transactions for the packed-refs file at the > packed_ref_cache level via new functions lock_packed_refs(), > commit_packed_refs(), and rollback_packed_refs(). > > Only allow the packed ref cache to be modified (via add_packed_ref()) > while the packed ref

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Richard Hansen
On 2013-06-19 13:14, Junio C Hamano wrote: > -ish does not have anything to do with a ref. Even > when an object is dangling in your object store without being > reachable from any of your refs, it keeps its own "ish"-ness. Ah, so your personal definition of "ref" matches my personal definition o

Re: [PATCH 1/4] glossary: add 'treeish' as a synonym for 'tree-ish'

2013-06-19 Thread Richard Hansen
On 2013-06-19 13:09, Junio C Hamano wrote: > Richard Hansen writes: > >> The documentation contains a mix of the two spellings, and including >> both makes it possible for users to search the glossary with their >> spelling of choice. > > Is it an option to instead find dashless form in our docu

Re: [PATCH v2 00/12] Fix some reference-related races

2013-06-19 Thread Jeff King
On Wed, Jun 19, 2013 at 09:51:21AM +0200, Michael Haggerty wrote: > Re-roll of mh/ref-races. Thanks to Peff, Junio, and Ramsay for > reviewing v1. Thanks. I just read through them again. Everything looks good to me. Patches 10 and 11 are missing my signoff, but obviously: Signed-off-by: Jeff

[PATCH] diff: add --ignore-blank-lines option

2013-06-19 Thread Antoine Pelisse
The goal of the patch is to introduce the GNU diff -B/--ignore-blank-lines as closely as possible. The short option is not available because it's already used for "break-rewrites". When this option is used, git-diff will not create hunks that simply add or remove empty lines, but will still show e

Re: accessing oldest reflog entry with ref@{N}?

2013-06-19 Thread Junio C Hamano
SZEDER Gábor writes: > $ git log --oneline -1 master@{1} > fatal: Log for 'master' only has 1 entries. > > Annoyed, I just copy-pasted the sha and got the job done. > > However, I wonder why it didn't worked. 'git reflog' didn't print > master@{1} or any message for the oldest entry, but I can li

Re: [Request] Git reset should be able to ignore file permissions

2013-06-19 Thread Junio C Hamano
Matthieu Moy writes: > Alexander Nestorov writes: > >> Ok, this is how it looks. If everything is ok, I'm sending it to the ML > > Please, read Documentation/SubmittingPatches (you lack a sign-off and if > you think the patch is ready, you should Cc Junio). Also, it's better to > have the commit

Re: [PATCH] peel_onion(): add support for ^{tag}

2013-06-19 Thread Junio C Hamano
Richard Hansen writes: > gitrevisions(7) implies that ^{tag} should work,... Does it? Is it possible that that should be fixed? What does it even _mean_ to peel something to a TAG? A commit, a tree or a blob cannot be peeled to a tag---none of them can contain a tag. When you have a tag that

Re: small misspellings fixes

2013-06-19 Thread Junio C Hamano
Matthieu Moy writes: > Veres Lajos writes: > >> I am trying to convert this pull request: >> https://github.com/git/git/pull/42 >> to a proper patch email > > Use "git format-patch" and/or "git send-email" to get the proper > formatting. > >> (Sorry If I miss something about the process.) > > Ye

Re: [PATCH v2 6/7] rebase: write better reflog messages

2013-06-19 Thread Junio C Hamano
Junio C Hamano writes: > Junio C Hamano writes: > >> Excellent question, and I think this illustrates why the recent >> reroll that uses an approach to use base_reflog_action is not >> complete and needs further work (to put it mildly). >> ... >> That essentially boils down to the very original

Re: [PATCH v2 6/7] rebase: write better reflog messages

2013-06-19 Thread Junio C Hamano
Junio C Hamano writes: > Excellent question, and I think this illustrates why the recent > reroll that uses an approach to use base_reflog_action is not > complete and needs further work (to put it mildly). > ... > That essentially boils down to the very original suggestion I made > before Ram in

Re: [PATCH v2 0/3] Fix a race condition when reading loose refs

2013-06-19 Thread Junio C Hamano
Jeff King writes: > On Wed, Jun 19, 2013 at 08:36:25AM +0200, Michael Haggerty wrote: > >> I took Peff's suggestion to use gotos rather than an infinite loop in >> the last patch, which means that there is no need for the old patch >> 03/04. > > Thanks, this version looks good to me. > > I'm sure

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Junio C Hamano
Richard Hansen writes: > Signed-off-by: Richard Hansen > --- > Documentation/glossary-content.txt | 11 +++ > 1 file changed, 11 insertions(+) > > diff --git a/Documentation/glossary-content.txt > b/Documentation/glossary-content.txt > index 01365d9..a3cc003 100644 > --- a/Documentatio

Re: [PATCH 1/4] glossary: add 'treeish' as a synonym for 'tree-ish'

2013-06-19 Thread Junio C Hamano
Richard Hansen writes: > The documentation contains a mix of the two spellings, and including > both makes it possible for users to search the glossary with their > spelling of choice. Is it an option to instead find dashless form in our documentation and turn all of them into tree-ish form with

Re: [PATCH 2/2] user-manual: Update download size for Git and the kernel

2013-06-19 Thread Junio C Hamano
Thanks, will queue. -- 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 1/2] Documentation: Update 'linux-2.6.git' -> 'linux.git'

2013-06-19 Thread Junio C Hamano
"W. Trevor King" writes: > diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt > index a0727d7..8e5260f 100644 > --- a/Documentation/git-clone.txt > +++ b/Documentation/git-clone.txt > @@ -274,7 +274,7 @@ $ git clone --bare -l /home/proj/.git /pub/scm/proj.git > * Create a rep

Re: [PATCH v2 6/7] rebase: write better reflog messages

2013-06-19 Thread Junio C Hamano
Johannes Sixt writes: > Am 6/18/2013 20:55, schrieb Ramkumar Ramachandra: >> Now that the "checkout" invoked internally from "rebase" knows to honor >> GIT_REFLOG_ACTION, we can start to use it to write a better reflog >> message when "rebase anotherbranch", "rebase --onto branch", >> etc. intern

Re: [Request] Git reset should be able to ignore file permissions

2013-06-19 Thread Hilco Wijbenga
On 19 June 2013 01:00, Alexander Nestorov wrote: > Ok, this is how it looks. If everything is ok, I'm sending it to the ML > > From 262bdfb5cc84fec7c9b74dc92bb604f9d168ef9a Mon Sep 17 00:00:00 2001 > From: Alexander Nestorov > Date: Wed, 19 Jun 2013 09:55:42 +0200 > Subject: [PATCH] Add example f

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Richard Hansen
On 2013-06-19 11:31, Richard Hansen wrote: > On 2013-06-19 01:56, Ramkumar Ramachandra wrote: >> From gitglossary(7): >> >> ref >> A 40-byte hex representation of a SHA-1 or a name that denotes a >> particular object. They may be stored in a file under $GIT_DIR/refs/ >> directory, or in

Re: [PATCH v2 0/3] Fix a race condition when reading loose refs

2013-06-19 Thread Jeff King
On Wed, Jun 19, 2013 at 08:36:25AM +0200, Michael Haggerty wrote: > I took Peff's suggestion to use gotos rather than an infinite loop in > the last patch, which means that there is no need for the old patch > 03/04. Thanks, this version looks good to me. I'm sure the Pascal programmers of the w

Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

2013-06-19 Thread Richard Hansen
On 2013-06-19 01:56, Ramkumar Ramachandra wrote: > From gitglossary(7): > > ref > A 40-byte hex representation of a SHA-1 or a name that denotes a > particular object. They may be stored in a file under $GIT_DIR/refs/ > directory, or in the $GIT_DIR/packed-refs file. > > Do master~3 a

accessing oldest reflog entry with ref@{N}?

2013-06-19 Thread SZEDER Gábor
Hi, after a couple of months of inactivity I recently updated my git clone from the main repo, and later ran 'git gc', which, of course, dutifully pruned the old reflog entries, leaving my reflogs quite shallow: $ git reflog master 0dbd8125 master@{0}: merge origin/master: Fast-forward f3828dc0

Re: [PATCH 1/2] Documentation: Update 'linux-2.6.git' -> 'linux.git'

2013-06-19 Thread W. Trevor King
On Tue, Jun 18, 2013 at 10:05:50PM -0700, David Aguilar wrote: > On Tue, Jun 18, 2013 at 6:55 PM, W. Trevor King wrote: > > -$ git clone --bare -l -s /pub/scm/.../torvalds/linux-2.6.git \ > > +$ git clone --bare -l -s /pub/scm/.../torvalds/linux.git \ > > /pub/scm/.../me/subsys-2.6.git > > P

Re: [PATCH v2] send-email: allow use of basic email list in --cc --to and --bcc

2013-06-19 Thread Matthieu Moy
jorge-juan.garcia-gar...@ensimag.imag.fr writes: > Changes since v1: > [...] > - did not change the two regexp into one, because it's faster with two (I find it strange to describe non-change in a list of changes) I don't think speed is an argument here: it's a one-time operation and will be in

Re: [Request] Git reset should be able to ignore file permissions

2013-06-19 Thread Matthieu Moy
Alexander Nestorov writes: > Ok, this is how it looks. If everything is ok, I'm sending it to the ML Please, read Documentation/SubmittingPatches (you lack a sign-off and if you think the patch is ready, you should Cc Junio). Also, it's better to have the commit headers directly as mail headers

[PATCH v2] send-email: allow use of basic email list in --cc --to and --bcc

2013-06-19 Thread Jorge-Juan . Garcia-Garcia
From: Jorge Juan Garcia Garcia Make it so that we can use a list of email in flags instead of having to use one flag per email address. The use-case is to copy-paste a list of addresses from an email. This change makes it so that we no longer need to cut the list. The format of email list handl

[PATCH 4/6] push: remove dead code in setup_push_upstream()

2013-06-19 Thread Ramkumar Ramachandra
Now that simple has been decoupled from upstream in setup_push_simple(), remove the dead code in setup_push_upstream(). Signed-off-by: Ramkumar Ramachandra --- builtin/push.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/builtin/push.c b/builtin/push.c index d8d27d9..

[PATCH 0/6] push.default in the triangular world

2013-06-19 Thread Ramkumar Ramachandra
[2/6] documents existing push.default modes properly, but doesn't touch `simple`. It incorporates feedback from Junio, Philip Oakley, Matthieu Moy. [3/6] gives `simple` an exciting new meaning. I think it's an absolutely fabulous default! It's aimed at triangular people who occassionally need t

[PATCH 3/6] push: change `simple` to accommodate triangular workflows

2013-06-19 Thread Ramkumar Ramachandra
When remote.pushdefault or branch..pushremote is set (a triangular workflow feature), master@{u} != origin, and push.default is set to `upstream` or `simple`: $ git push fatal: You are pushing to remote 'origin', which is not the upstream of your current branch 'master', without telling me w

[PATCH 2/6] config doc: rewrite push.default section

2013-06-19 Thread Ramkumar Ramachandra
4d3592 (Merge branch 'rr/triangle', 2013-04-07) introduced support for triangular workflows in Git, but the push.default values still assume central workflows. Rewrite the descriptions of `nothing`, `current`, `upstream` and `matching` for greater clarity, and explicitly explaining how they behave

[PATCH 1/6] t/t5528-push-default: remove redundant test_config lines

2013-06-19 Thread Ramkumar Ramachandra
The line test_config push.default upstream appears unnecessarily in two tests, as the final test_push_failure sets push.default before pushing anyway. Signed-off-by: Ramkumar Ramachandra --- t/t5528-push-default.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/t/t5528-push-default.sh

[PATCH 6/6] t/t5528-push-default: test pushdefault workflows

2013-06-19 Thread Ramkumar Ramachandra
Introduce test_pushdefault_workflows(), and test that all push.default modes work with central and triangular workflows as expected. Signed-off-by: Ramkumar Ramachandra --- t/t5528-push-default.sh | 36 1 file changed, 36 insertions(+) diff --git a/t/t5528-p

[PATCH 5/6] t/t5528-push-default: generalize test_push_*

2013-06-19 Thread Ramkumar Ramachandra
The setup creates two bare repositories: repo1 and repo2, but test_push_commit() hard-codes checking in repo1 for the actual output. Generalize it and its caller, test_push_success(), to optionally accept a third argument to specify the name of the repository to check for actual output. We will us

Re: [PATCH v3 3/7] t/t2012-checkout-last: test "checkout -" after a rebase

2013-06-19 Thread Ramkumar Ramachandra
Johannes Sixt wrote: > Am 6/19/2013 10:04, schrieb Ramkumar Ramachandra: >> +test_expect_failure '"checkout -" works after a rebase -i A B' ' >> + git branch foodle master~1 && >> + git checkout master && >> + git checkout other && >> + git rebase master foodle && > > git re

Re: [PATCH v3 3/7] t/t2012-checkout-last: test "checkout -" after a rebase

2013-06-19 Thread Johannes Sixt
Am 6/19/2013 10:04, schrieb Ramkumar Ramachandra: > +test_expect_failure '"checkout -" works after a rebase -i A B' ' > + git branch foodle master~1 && > + git checkout master && > + git checkout other && > + git rebase master foodle && git rebase -i master foodle && > +

Nike Air Max billig

2013-06-19 Thread kiuwor
Nike Air Max billig Ich habe Ausübung ca. 3 Jahren und genutzt haben diese tolle Alltag Nike Shox oz Schuhe, die teure Reebok sowie die Damen Adidas Originals Jeremy Scott zigs. Out und auch weg, Entwicklung des Kindes eine große Anzahl von flexiblen Sc

Chanel Taschen Online

2013-06-19 Thread kiuwor
Chanel Taschen Outlet Normalerweise würden Sie brauchen, um eine Chanel Flagship-Store, oder hochwertigen Bereich Shop besuchen, um Chanel Designer-Handtaschen und Taschen zu finden, und zusätzlich würden Sie zahlen eine ganz Cent für jeden einzelnen (typi

[PATCH v3 7/7] rebase -i: write better reflog messages

2013-06-19 Thread Ramkumar Ramachandra
Now that the "checkout" invoked internally from "rebase -i" knows to honor GIT_REFLOG_ACTION, we can start to use it to write a better reflog message when "rebase -i anotherbranch", "rebase -i --onto branch", etc. internally checks out the new fork point. We will write: rebase -i (start): check

[PATCH v3 6/7] rebase: write better reflog messages

2013-06-19 Thread Ramkumar Ramachandra
Now that the "checkout" invoked internally from "rebase" knows to honor GIT_REFLOG_ACTION, we can start to use it to write a better reflog message when "rebase anotherbranch", "rebase --onto branch", etc. internally checks out the new fork point. We will write: rebase: checkout master instead

[PATCH v3 5/7] checkout: respect GIT_REFLOG_ACTION

2013-06-19 Thread Ramkumar Ramachandra
GIT_REFLOG_ACTION is an environment variable specifying the reflog message to write after an action is completed. Several other commands including merge, reset, and commit respect it. Fix the failing tests in t/checkout-last by making checkout respect it too. You can now expect $ git checkout

[PATCH v3 3/7] t/t2012-checkout-last: test "checkout -" after a rebase

2013-06-19 Thread Ramkumar Ramachandra
$ git checkout - does not work as expected after a rebase. This is because the reflog records "checkout" made by "rebase" as its implementation detail the same way as end-user initiated "checkout", and makes it count as the branch that was previously checked out. Add four failing tests documen

[PATCH v3 2/7] wt-status: remove unused field in grab_1st_switch_cbdata

2013-06-19 Thread Ramkumar Ramachandra
The struct grab_1st_switch_cbdata has the field "found", which is set in grab_1st_switch() when a match is found. This information is redundant and unused by any code. The return value of the function serves to communicate this information anyway. Remove the field. Signed-off-by: Ramkumar Ramac

[PATCH v3 0/7] Re-roll rr/rebase-checkout-reflog

2013-06-19 Thread Ramkumar Ramachandra
So, this is hopefully the final re-roll. [6/7] and [7/7] have updated commit messages and comments describing what this new base_reflog_action is. Also, to prevent breakages with another in-flight topic, the test that Junio contributed to [7/7] uses a different branch name. Thanks. Junio C Hama

[PATCH v3 1/7] t/t7512-status-help: test "HEAD detached from"

2013-06-19 Thread Ramkumar Ramachandra
From: Junio C Hamano b397ea (status: show more info than "currently not on any branch", 2013-03-13) wanted to make sure that after a checkout to detach HEAD, the user can see where the HEAD was originally detached from. The last test added by that commit to t/status-help shows one example, immed

[PATCH v3 4/7] status: do not depend on rebase reflog messages

2013-06-19 Thread Ramkumar Ramachandra
b397ea4 (status: show more info than "currently not on any branch", 2013-03-13) attempted to make the output of 'git status' richer in the case of a detached HEAD. Before this patch, with a detached HEAD, we saw: $ git status # Not currently on any branch. But after the patch, we see: $ g

Re: [Request] Git reset should be able to ignore file permissions

2013-06-19 Thread Alexander Nestorov
Ok, this is how it looks. If everything is ok, I'm sending it to the ML >From 262bdfb5cc84fec7c9b74dc92bb604f9d168ef9a Mon Sep 17 00:00:00 2001 From: Alexander Nestorov Date: Wed, 19 Jun 2013 09:55:42 +0200 Subject: [PATCH] Add example for reseting based on content changes instead of stat change

[PATCH v2 09/12] add a stat_validity struct

2013-06-19 Thread Michael Haggerty
It can sometimes be useful to know whether a path in the filesystem has been updated without going to the work of opening and re-reading its content. We trust the stat() information on disk already to handle index updates, and we can use the same trick here. This patch introduces a "stat_validity"

[PATCH v2 02/12] pack_refs(): split creation of packed refs and entry writing

2013-06-19 Thread Michael Haggerty
Split pack_refs() into multiple passes: * Iterate over loose refs. For each one that can be turned into a packed ref, create a corresponding entry in the packed refs cache. * Write the packed refs to the packed-refs file. This change isolates the mutation of the packed-refs file to a single p

[PATCH v2 06/12] do_for_each_entry(): increment the packed refs cache refcount

2013-06-19 Thread Michael Haggerty
This function calls a user-supplied callback function which could do something that causes the packed refs cache to be invalidated. So acquire a reference count on the data structure to prevent our copy from being freed while we are iterating over it. Signed-off-by: Michael Haggerty --- refs.c

[PATCH v2 01/12] repack_without_ref(): split list curation and entry writing

2013-06-19 Thread Michael Haggerty
The repack_without_ref() function first removes the deleted ref from the internal packed-refs list, then writes the packed-refs list to disk, omitting any broken or stale entries. This patch splits that second step into multiple passes: * collect the list of refnames that should be deleted from p

[PATCH v2 08/12] Extract a struct stat_data from cache_entry

2013-06-19 Thread Michael Haggerty
Add public functions fill_stat_data() and match_stat_data() to work with it. This infrastructure will later be used to check the validity of other types of file. Signed-off-by: Michael Haggerty --- builtin/ls-files.c | 12 +++-- cache.h| 33 +--- read-cache.c | 151 +

[PATCH v2 04/12] refs: implement simple transactions for the packed-refs file

2013-06-19 Thread Michael Haggerty
Handle simple transactions for the packed-refs file at the packed_ref_cache level via new functions lock_packed_refs(), commit_packed_refs(), and rollback_packed_refs(). Only allow the packed ref cache to be modified (via add_packed_ref()) while the packed refs file is locked. Change clone to add

[PATCH v2 11/12] for_each_ref: load all loose refs before packed refs

2013-06-19 Thread Michael Haggerty
From: Jeff King If we are iterating through the refs using for_each_ref (or any of its sister functions), we can get into a race condition with a simultaneous "pack-refs --prune" that looks like this: 0. We have a large number of loose refs, and a few packed refs. refs/heads/z/foo is loos

[PATCH v2 12/12] refs: do not invalidate the packed-refs cache unnecessarily

2013-06-19 Thread Michael Haggerty
Now that we keep track of the packed-refs file metadata, we can detect when the packed-refs file has been modified since we last read it, and we do so automatically every time that get_packed_ref_cache() is called. So there is no need to invalidate the cache automatically when lock_packed_refs() i

[PATCH v2 10/12] get_packed_ref_cache: reload packed-refs file when it changes

2013-06-19 Thread Michael Haggerty
From: Jeff King Once we read the packed-refs file into memory, we cache it to save work on future ref lookups. However, our cache may be out of date with respect to what is on disk if another process is simultaneously packing the refs. Normally it is acceptable for us to be a little out of date,

[PATCH v2 05/12] refs: manage lifetime of packed refs cache via reference counting

2013-06-19 Thread Michael Haggerty
In struct packed_ref_cache, keep a count of the number of users of the data structure. Only free the packed ref cache when the reference count goes to zero rather than when the packed ref cache is cleared. This mechanism will be used to prevent the cache data structure from being freed while it is

[PATCH v2 03/12] refs: wrap the packed refs cache in a level of indirection

2013-06-19 Thread Michael Haggerty
As we know, we can solve any problem in this manner. In this case, the problem is to avoid freeing a packed refs cache while somebody is using it. So add a level of indirection as a prelude to reference-counting the packed refs cache. Signed-off-by: Michael Haggerty --- refs.c | 32 +++

[PATCH v2 07/12] packed_ref_cache: increment refcount when locked

2013-06-19 Thread Michael Haggerty
Increment the packed_ref_cache reference count while it is locked to prevent its being freed. Signed-off-by: Michael Haggerty --- refs.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/refs.c b/refs.c index d90f487..6d48b42 100644 --- a/refs.c +++ b/refs.c @@ -820,7 +8

[PATCH v2 00/12] Fix some reference-related races

2013-06-19 Thread Michael Haggerty
Re-roll of mh/ref-races. Thanks to Peff, Junio, and Ramsay for reviewing v1. Changes since v1: * mh/reflife has graduated to master, so this patch series now applies directly to master. * Some trivial constness adjustments were necessary because of 21a6b9fa read-cache: mark cache_entry p

Re: [PATCH] http.c: don't rewrite the user:passwd string multiple times

2013-06-19 Thread Daniel Stenberg
On Tue, 18 Jun 2013, Jeff King wrote: But, I don't know if there is any multi-processing happening within the curl library. I don't think curl does any threading; when we are not inside curl_*_perform, there is no curl code running at all (Daniel can correct me if I'm wrong on that). Corre

[PATCH v2] sequencer: write useful reflog message for fast-forward

2013-06-19 Thread Ramkumar Ramachandra
The following command $ git cherry-pick --ff b8bb3f writes the following uninformative message to the reflog cherry-pick Improve it to cherry-pick: fast-forward Avoid hard-coding "cherry-pick" in fast_forward_to(), so the sequencer is generic enough to support future actions. Signed-of