* Re: GIT get corrupted on lustre
From: Junio C Hamano @ 2013-01-22 22:03 UTC (permalink / raw)
To: Eric Chamberland
Cc: Thomas Rast, Brian J. Murrell, git, kusmabite,
Pyeron, Jason J CTR (US), Maxime Boissonneault, Philippe Vaucher,
Sébastien Boisvert
In-Reply-To: <50FF051D.5090804@giref.ulaval.ca>
Eric Chamberland <Eric.Chamberland@giref.ulaval.ca> writes:
> So, hum, do we have some sort of conclusion?
>
> Shall it be a fix for git to get around that lustre "behavior"?
>
> If something can be done in git it would be great: it is a *lot*
> easier to change git than the lustre filesystem software for a cluster
> in running in production mode... (words from cluster team) :-/
Do we know the real cause of the symptom? I did not follow the
thread carefully, but the impression I was getting was that the
filesystem is broken around EINTR, and even if you "fix"ed Git,
your other more mission critical applications will be broken by
the same filesystem behaviour, no?
^ permalink raw reply
* Re: GIT get corrupted on lustre
From: Thomas Rast @ 2013-01-22 22:14 UTC (permalink / raw)
To: Eric Chamberland
Cc: Brian J. Murrell, git, kusmabite, Pyeron, Jason J CTR (US),
Maxime Boissonneault, Philippe Vaucher, Sébastien Boisvert
In-Reply-To: <50FF051D.5090804@giref.ulaval.ca>
Eric Chamberland <Eric.Chamberland@giref.ulaval.ca> writes:
> So, hum, do we have some sort of conclusion?
>
> Shall it be a fix for git to get around that lustre "behavior"?
>
> If something can be done in git it would be great: it is a *lot*
> easier to change git than the lustre filesystem software for a cluster
> in running in production mode... (words from cluster team) :-/
I thought you already established that simply disabling the progress
display is a sufficient workaround? If that doesn't help, you can try
patching out all use of SIGALRM within git.
Other than that I agree with Junio, from what we've seen so far, Lustre
returns EINTR on all sorts of calls that simply aren't allowed to do so.
--
Thomas Rast
trast@{inf,student}.ethz.ch
^ permalink raw reply
* Re: Build broken for contrib/remote-helpers...
From: Junio C Hamano @ 2013-01-22 22:22 UTC (permalink / raw)
To: Torsten Bögershausen
Cc: Jeff King, John Szakmeister, Felipe Contreras, git
In-Reply-To: <50FEFCD7.2060402@web.de>
Torsten Bögershausen <tboegi@web.de> writes:
>> So it finds whatever is before the first "-", which would be the test
>> number in "t0000-basic.sh" or similar, and then looks for duplicates.
>
> would it help to filter for numbered tests before sorting like this:
>
> sed 's/-.*//' | grep "[0-9][0-9][0-9][0-9]"| sort | uniq -d
If you are using sed you do not need grep. Just do that in a single
process, perhaps like
sed -ne 's|\(.*/\)*t\([0-9][0-9][0-9][0-9]\)-.*|\2|p'
But more importantly, what do we want "duplicate numbers" sanity
check to mean in this context? Is this other directory allowed to
have a numbered test that shares the same number as the main test
suite? Is uniqueness inside the contrib/remote-helpers/ directory
sufficient?
Do we envision that perhaps someday the contrib material becomes
mature enough and will want to migrate to the main part of the tree?
If that is the case, perhaps should the check complain that these
tests are not numbered, instead of ignoring?
^ permalink raw reply
* What's cooking in git.git (Jan 2013, #08; Tue, 22)
From: Junio C Hamano @ 2013-01-22 22:44 UTC (permalink / raw)
To: git
Here are the topics that have been cooking. Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.
As usual, this cycle is expected to last for 8 to 10 weeks, with a
preview -rc0 sometime in the middle of next month.
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
--------------------------------------------------
[New Topics]
* bc/fix-array-syntax-for-3.0-in-completion-bash (2013-01-18) 1 commit
- git-completion.bash: replace zsh notation that breaks bash 3.X
Fix use of an array notation that older versions of bash do not
understand.
Will merge to 'next'.
* jc/help (2013-01-18) 1 commit
- help: include <common-cmds.h> only in one file
A header file that has the definition of a static array was
included in two places, wasting the space.
Will merge to 'next'.
* jc/hidden-refs (2013-01-18) 2 commits
- upload-pack: allow hiding ref hiearchies
- upload-pack: share more code
Allow the server side to unclutter the refs/ namespace it shows by
default, while still allowing requests for histories leading to the
tips of hidden refs by updated clients (which are not written yet).
* jk/update-install-for-p4 (2013-01-20) 1 commit
- INSTALL: git-p4 doesn't support Python 3
Will merge to 'next'.
* tb/t0050-maint (2013-01-21) 3 commits
- t0050: Use TAB for indentation
- t0050: honor CASE_INSENSITIVE_FS in add (with different case)
- t0050: known breakage vanished in merge (case change)
Will merge to 'next'.
* nd/magic-pathspec-from-root (2013-01-21) 2 commits
- grep: avoid accepting ambiguous revision
- Update :/abc ambiguity check
Will merge to 'next'.
* ta/doc-no-small-caps (2013-01-21) 7 commits
- Add rule for when to use 'git' and when to use 'Git'
- Change 'git' to 'Git' whenever the whole system is referred to #4
- Change 'git' to 'Git' whenever the whole system is referred to #3
- Change 'git' to 'Git' whenever the whole system is referred to #2
- Change 'git' to 'Git' whenever the whole system is referred to #1
- Documentation: update two leftover small caps
- Documentation: avoid poor-man's small caps
Update documentation to change "GIT" which was a poor-man's small
caps to "Git" which was the intended spelling. Also change "git"
spelled in all-lowercase to "Git" when it refers to the system as
the whole or the concept it embodies, as opposed to the command the
end users would type.
* rr/minimal-stat (2013-01-22) 1 commit
- Enable minimal stat checking
Some reimplementations of Git does not write all the stat info back
to the index due to their implementation limitations (e.g. jgit
running on Java). A configuration option can tell Git to ignore
changes to most of the stat fields and only pay attention to mtime
and size, which these implementations can reliably update. This
avoids excessive revalidation of contents.
Will merge to 'next'.
--------------------------------------------------
[Graduated to "master"]
* ap/log-mailmap (2013-01-10) 11 commits
(merged to 'next' on 2013-01-10 at 8544084)
+ log --use-mailmap: optimize for cases without --author/--committer search
+ log: add log.mailmap configuration option
+ log: grep author/committer using mailmap
+ test: add test for --use-mailmap option
+ log: add --use-mailmap option
+ pretty: use mailmap to display username and email
+ mailmap: add mailmap structure to rev_info and pp
+ mailmap: simplify map_user() interface
+ mailmap: remove email copy and length limitation
+ Use split_ident_line to parse author and committer
+ string-list: allow case-insensitive string list
Teach commands in the "log" family to optionally pay attention to
the mailmap.
* ds/completion-silence-in-tree-path-probe (2013-01-11) 1 commit
(merged to 'next' on 2013-01-15 at 7542d21)
+ git-completion.bash: silence "not a valid object" errors
An internal ls-tree call made by completion code only to probe if
a path exists in the tree recorded in a commit object leaked error
messages when the path is not there. It is not an error at all and
should not be shown to the end user.
* fc/remote-hg-fixup-url (2013-01-15) 1 commit
(merged to 'next' on 2013-01-15 at d2acb2d)
+ remote-hg: store converted URL
Update to the Hg remote helper (in contrib/).
* jn/maint-trim-vim-contrib (2013-01-10) 1 commit
(merged to 'next' on 2013-01-15 at ad80a9d)
+ contrib/vim: simplify instructions for old vim support
Remove stale insn to support older versions of vim and point users
to the upstream resources.
* mh/remote-hg-mode-bits-fix (2013-01-15) 1 commit
(merged to 'next' on 2013-01-15 at ad57d9f)
+ remote-hg: fix handling of file perms when pushing
Update to the Hg remote helper (in contrib/).
* mk/complete-tcsh (2013-01-07) 1 commit
(merged to 'next' on 2013-01-11 at b8b30b1)
+ Prevent space after directories in tcsh completion
Update tcsh command line completion so that an unwanted space is
not added to a single directory name.
* mz/reset-misc (2013-01-16) 20 commits
(merged to 'next' on 2013-01-16 at 937bc20)
+ reset: update documentation to require only tree-ish with paths
(merged to 'next' on 2013-01-15 at a93b394)
+ reset [--mixed]: use diff-based reset whether or not pathspec was given
+ reset: allow reset on unborn branch
+ reset $sha1 $pathspec: require $sha1 only to be treeish
+ reset.c: inline update_index_refresh()
+ reset.c: finish entire cmd_reset() whether or not pathspec is given
+ reset [--mixed]: only write index file once
+ reset.c: move lock, write and commit out of update_index_refresh()
+ reset.c: move update_index_refresh() call out of read_from_tree()
+ reset.c: replace switch by if-else
+ reset: avoid redundant error message
+ reset --keep: only write index file once
+ reset.c: share call to die_if_unmerged_cache()
+ reset.c: extract function for updating {ORIG_,}HEAD
+ reset.c: remove unnecessary variable 'i'
+ reset.c: extract function for parsing arguments
+ reset: don't allow "git reset -- $pathspec" in bare repo
+ reset.c: pass pathspec around instead of (prefix, argv) pair
+ reset $pathspec: exit with code 0 if successful
+ reset $pathspec: no need to discard index
Various 'reset' optimizations and clean-ups, followed by a change
to allow "git reset" to work even on an unborn branch.
* nd/attr-debug-fix (2013-01-15) 1 commit
(merged to 'next' on 2013-01-15 at 8460acf)
+ attr: make it build with DEBUG_ATTR again
Fix debugging support that was broken in earlier change.
* nd/clone-no-separate-git-dir-with-bare (2013-01-10) 1 commit
(merged to 'next' on 2013-01-15 at 64f441a)
+ clone: forbid --bare --separate-git-dir <dir>
Forbid a useless combination of options to "git clone".
* nd/fix-directory-attrs-off-by-one (2013-01-16) 2 commits
(merged to 'next' on 2013-01-16 at bd63e61)
+ attr: avoid calling find_basename() twice per path
(merged to 'next' on 2013-01-15 at e0a0129)
+ attr: fix off-by-one directory component length calculation
Fix performance regression introduced by an earlier change to let
attributes apply to directories.
* nd/fix-perf-parameters-in-tests (2013-01-15) 1 commit
(merged to 'next' on 2013-01-15 at fedbdb9)
+ test-lib.sh: unfilter GIT_PERF_*
Allow GIT_PERF_* environment variables to be passed through the
test framework.
* pe/doc-email-env-is-trumped-by-config (2013-01-10) 1 commit
(merged to 'next' on 2013-01-14 at 6b4d555)
+ git-commit-tree(1): correct description of defaults
In the precedence order, the environment variable $EMAIL comes
between the built-in default (i.e. taking value by asking the
system's gethostname() etc.) and the user.email configuration
variable; the documentation implied that it is stronger than the
configuration like $GIT_COMMITTER_EMAIL is, which is wrong.
* ph/rebase-preserve-all-merges (2013-01-14) 1 commit
(merged to 'next' on 2013-01-15 at 3a67878)
+ rebase --preserve-merges: keep all merge commits including empty ones
An earlier change to add --keep-empty option broke "git rebase
--preserve-merges" and lost merge commits that end up being the
same as its parent.
* pw/p4-branch-fixes (2013-01-15) 14 commits
(merged to 'next' on 2013-01-15 at 1ee379e)
+ git p4: fix submit when no master branch
+ git p4 test: keep P4CLIENT changes inside subshells
+ git p4: fix sync --branch when no master branch
+ git p4: fail gracefully on sync with no master branch
+ git p4: rearrange self.initialParent use
+ git p4: allow short ref names to --branch
+ git p4 doc: fix branch detection example
+ git p4: clone --branch should checkout master
+ git p4: verify expected refs in clone --bare test
+ git p4: create p4/HEAD on initial clone
+ git p4: inline listExistingP4GitBranches
+ git p4: add comments to p4BranchesInGit
+ git p4: rearrange and simplify hasOrigin handling
+ git p4: test sync/clone --branch behavior
Fix "git p4" around branch handling.
* rs/pretty-use-prefixcmp (2013-01-14) 1 commit
(merged to 'next' on 2013-01-15 at d76452d)
+ pretty: use prefixcmp instead of memcmp on NUL-terminated strings
* rt/commit-cleanup-config (2013-01-10) 1 commit
(merged to 'next' on 2013-01-15 at c4742ae)
+ commit: make default of "cleanup" option configurable
Add a configuration variable to set default clean-up mode other
than "strip".
* ss/help-htmlpath-config-doc (2013-01-15) 1 commit
(merged to 'next' on 2013-01-17 at 99bfae2)
+ config.txt: Document help.htmlpath config parameter
Add missing doc.
* zk/clean-report-failure (2013-01-14) 1 commit
(merged to 'next' on 2013-01-15 at 5b31614)
+ git-clean: Display more accurate delete messages
"git clean" states what it is going to remove and then goes on to
remove it, but sometimes it only discovers things that cannot be
removed after recursing into a directory, which makes the output
confusing and even wrong.
--------------------------------------------------
[Stalled]
* mp/complete-paths (2013-01-11) 1 commit
- git-completion.bash: add support for path completion
The completion script used to let the default completer to suggest
pathnames, which gave too many irrelevant choices (e.g. "git add"
would not want to add an unmodified path). Teach it to use a more
git-aware logic to enumerate only relevant ones.
Waiting for area-experts' help and review.
* jl/submodule-deinit (2012-12-04) 1 commit
- submodule: add 'deinit' command
There was no Porcelain way to say "I no longer am interested in
this submodule", once you express your interest in a submodule with
"submodule init". "submodule deinit" is the way to do so.
Expecting a reroll.
$gmane/212884
* jk/lua-hackery (2012-10-07) 6 commits
- pretty: fix up one-off format_commit_message calls
- Minimum compilation fixup
- Makefile: make "lua" a bit more configurable
- add a "lua" pretty format
- add basic lua infrastructure
- pretty: make some commit-parsing helpers more public
Interesting exercise. When we do this for real, we probably would want
to wrap a commit to make it more like an "object" with methods like
"parents", etc.
* rc/maint-complete-git-p4 (2012-09-24) 1 commit
- Teach git-completion about git p4
Comment from Pete will need to be addressed ($gmane/206172).
* jc/maint-name-rev (2012-09-17) 7 commits
- describe --contains: use "name-rev --algorithm=weight"
- name-rev --algorithm=weight: tests and documentation
- name-rev --algorithm=weight: cache the computed weight in notes
- name-rev --algorithm=weight: trivial optimization
- name-rev: --algorithm option
- name_rev: clarify the logic to assign a new tip-name to a commit
- name-rev: lose unnecessary typedef
"git name-rev" names the given revision based on a ref that can be
reached in the smallest number of steps from the rev, but that is
not useful when the caller wants to know which tag is the oldest one
that contains the rev. This teaches a new mode to the command that
uses the oldest ref among those which contain the rev.
I am not sure if this is worth it; for one thing, even with the help
from notes-cache, it seems to make the "describe --contains" even
slower. Also the command will be unusably slow for a user who does
not have a write access (hence unable to create or update the
notes-cache).
Stalled mostly due to lack of responses.
* jc/xprm-generation (2012-09-14) 1 commit
- test-generation: compute generation numbers and clock skews
A toy to analyze how bad the clock skews are in histories of real
world projects.
Stalled mostly due to lack of responses.
* jc/add-delete-default (2012-08-13) 1 commit
- git add: notice removal of tracked paths by default
"git add dir/" updated modified files and added new files, but does
not notice removed files, which may be "Huh?" to some users. They
can of course use "git add -A dir/", but why should they?
Resurrected from graveyard, as I thought it was a worthwhile thing
to do in the longer term.
Stalled mostly due to lack of responses.
* mb/remote-default-nn-origin (2012-07-11) 6 commits
- Teach get_default_remote to respect remote.default.
- Test that plain "git fetch" uses remote.default when on a detached HEAD.
- Teach clone to set remote.default.
- Teach "git remote" about remote.default.
- Teach remote.c about the remote.default configuration setting.
- Rename remote.c's default_remote_name static variables.
When the user does not specify what remote to interact with, we
often attempt to use 'origin'. This can now be customized via a
configuration variable.
Expecting a reroll.
$gmane/210151
"The first remote becomes the default" bit is better done as a
separate step.
--------------------------------------------------
[Cooking]
* mh/imap-send-shrinkage (2013-01-15) 14 commits
(merged to 'next' on 2013-01-18 at 1b7c5ba)
+ imap-send.c: simplify logic in lf_to_crlf()
+ imap-send.c: fold struct store into struct imap_store
+ imap-send.c: remove unused field imap_store::uidvalidity
+ imap-send.c: use struct imap_store instead of struct store
+ imap-send.c: remove unused field imap_store::trashnc
+ imap-send.c: remove namespace fields from struct imap
+ imap-send.c: remove struct imap argument to parse_imap_list_l()
+ imap-send.c: inline parse_imap_list() in parse_list()
+ imap-send.c: remove some unused fields from struct store
+ imap-send.c: remove struct message
+ imap-send.c: remove struct store_conf
+ iamp-send.c: remove unused struct imap_store_conf
+ imap-send.c: remove struct msg_data
+ imap-send.c: remove msg_data::flags, which was always zero
Remove a lot of unused code from "git imap-send".
Will merge to 'master'.
* cr/push-force-tag-update (2013-01-21) 4 commits
- push: further simplify the logic to assign rejection status
- push: introduce REJECT_FETCH_FIRST and REJECT_NEEDS_FORCE
- push: further clean up fields of "struct ref"
(merged to 'next' on 2013-01-18 at c9091d5)
+ push: fix "refs/tags/ hierarchy cannot be updated without --force"
Regression fix (the bottom one), and error/advice message
improvements (the rest).
Will merge to 'master' the bottom one soonish.
The remainder can cook in 'next' like any other topic.
* jk/suppress-clang-warning (2013-01-16) 1 commit
(merged to 'next' on 2013-01-18 at 7c0bda7)
+ fix clang -Wunused-value warnings for error functions
Will merge to 'master'.
* rs/clarify-entry-cmp-sslice (2013-01-16) 1 commit
(merged to 'next' on 2013-01-18 at d584dc6)
+ refs: use strncmp() instead of strlen() and memcmp()
Will merge to 'master'.
* ch/add-auto-submitted-in-sample-post-receive-email (2013-01-17) 1 commit
(merged to 'next' on 2013-01-18 at e3205db)
+ Add Auto-Submitted header to post-receive-email
Will merge to 'master'.
* jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit
- simplify-merges: drop merge from irrelevant side branch
The --simplify-merges logic did not cull irrelevant parents from a
merge that is otherwise not interesting with respect to the paths
we are following.
As this touches a fairly core part of the revision traversal
infrastructure, it is appreciated to have an extra set of eyes for
sanity check.
Waiting for comments.
* jk/remote-helpers-in-python-3 (2013-01-20) 8 commits
- git-remote-testpy: call print as a function
- git-remote-testpy: don't do unbuffered text I/O
- git-remote-testpy: hash bytes explicitly
- svn-fe: allow svnrdump_sim.py to run with Python 3
- git_remote_helpers: use 2to3 if building with Python 3
- git_remote_helpers: force rebuild if python version changes
- git_remote_helpers: fix input when running under Python 3
- git_remote_helpers: allow building with Python 3
Prepare remote-helper test written in Python to be run with Python3.
Will merge to 'next'.
* jc/cvsimport-upgrade (2013-01-14) 8 commits
- t9600: adjust for new cvsimport
- t9600: further prepare for sharing
- cvsimport-3: add a sample test
- cvsimport: make tests reusable for cvsimport-3
- cvsimport: start adding cvsps 3.x support
- cvsimport: introduce a version-switch wrapper
- cvsimport: allow setting a custom cvsps (2.x) program name
- Makefile: add description on PERL/PYTHON_PATH
The most important part of this series is the addition of the new
cvsimport by Eric Raymond that works with cvsps 3.x. Given some
distros have inertia to be conservative, Git with cvsimport that
does not work with both 3.x will block adoption of cvsps 3.x by
them, and shipping Git with cvsimport that does not work with cvsps
2.x will block such a version of Git, so we'll do the proven "both
old and new are available, but we aim to deprecate and remove the
old one in due time" strategy that we used successfully in the
past.
Will merge to 'next'.
* as/pre-push-hook (2013-01-18) 3 commits
(merged to 'next' on 2013-01-18 at 37fc4e8)
+ Add sample pre-push hook script
+ push: Add support for pre-push hooks
+ hooks: Add function to check if a hook exists
Add an extra hook so that "git push" that is run without making
sure what is being pushed is sane can be checked and rejected (as
opposed to the user deciding not pushing).
Will merge to 'master'.
* dl/am-hg-locale (2013-01-18) 1 commit
- am: invoke perl's strftime in C locale
Datestamp recorded in "Hg" format patch was reformatted incorrectly
to an e-mail looking date using locale dependant strftime, causing
patch application to fail.
Will merge to 'next'.
* jk/config-parsing-cleanup (2013-01-14) 7 commits
- [DONTMERGE] reroll coming
- submodule: simplify memory handling in config parsing
- submodule: use match_config_key when parsing config
- userdiff: drop parse_driver function
- convert some config callbacks to match_config_key
- archive-tar: use match_config_key when parsing config
- config: add helper function for parsing key names
Expecting a reroll.
* mp/diff-algo-config (2013-01-16) 3 commits
- diff: Introduce --diff-algorithm command line option
- config: Introduce diff.algorithm variable
- git-completion.bash: Autocomplete --minimal and --histogram for git-diff
Add diff.algorithm configuration so that the user does not type
"diff --histogram".
Looking better; may want tests to protect it from future breakages,
but otherwise it looks ready for 'next'.
Waiting for a follow-up to add tests.
* rs/archive-tar-config-parsing-fix (2013-01-14) 1 commit
- archive-tar: fix sanity check in config parsing
Configuration parsing for tar.* configuration variables were
broken; Peff's config parsing clean-up topic will address the same
breakage, so this may be superseded by that other topic.
Waiting for the other topic to make this unneeded.
* jc/custom-comment-char (2013-01-16) 1 commit
- Allow custom "comment char"
An illustration to show codepaths that need to be touched to change
the hint lines in the edited text to begin with something other
than '#'.
This is half my work and half by Ralf Thielow. There may still be
leftover '#' lurking around, though. My "git grep" says C code
should be already fine, but git-rebase--interactive.sh could be
converted (it should not matter, as the file is not really a
free-form text).
I don't know how useful this will be in real life, though.
Will merge to 'next'.
* nd/fetch-depth-is-broken (2013-01-11) 3 commits
(merged to 'next' on 2013-01-15 at 70a5ca7)
+ fetch: elaborate --depth action
+ upload-pack: fix off-by-one depth calculation in shallow clone
+ fetch: add --unshallow for turning shallow repo into complete one
"git fetch --depth" was broken in at least three ways. The
resulting history was deeper than specified by one commit, it was
unclear how to wipe the shallowness of the repository with the
command, and documentation was misleading.
Will cook in 'next'.
* jc/no-git-config-in-clone (2013-01-11) 1 commit
(merged to 'next' on 2013-01-15 at feeffe1)
+ clone: do not export and unexport GIT_CONFIG
We stopped paying attention to $GIT_CONFIG environment that points
at a single configuration file from any command other than "git config"
quite a while ago, but "git clone" internally set, exported, and
then unexported the variable during its operation unnecessarily.
Will cook in 'next'.
* dg/subtree-fixes (2013-01-08) 7 commits
- contrib/subtree: mkdir the manual directory if needed
- contrib/subtree: honor $(DESTDIR)
- contrib/subtree: fix synopsis and command help
- contrib/subtree: better error handling for "add"
- contrib/subtree: add --unannotate option
- contrib/subtree: use %B for split Subject/Body
- t7900: remove test number comments
contrib/subtree updates; there are a few more from T. Zheng that
were posted separately, with an overlap.
Expecting a reroll.
* jc/push-2.0-default-to-simple (2013-01-16) 14 commits
(merged to 'next' on 2013-01-16 at 23f5df2)
+ t5570: do not assume the "matching" push is the default
+ t5551: do not assume the "matching" push is the default
+ t5550: do not assume the "matching" push is the default
(merged to 'next' on 2013-01-09 at 74c3498)
+ doc: push.default is no longer "matching"
+ push: switch default from "matching" to "simple"
+ t9401: do not assume the "matching" push is the default
+ t9400: do not assume the "matching" push is the default
+ t7406: do not assume the "matching" push is the default
+ t5531: do not assume the "matching" push is the default
+ t5519: do not assume the "matching" push is the default
+ t5517: do not assume the "matching" push is the default
+ t5516: do not assume the "matching" push is the default
+ t5505: do not assume the "matching" push is the default
+ t5404: do not assume the "matching" push is the default
Will cook in 'next' until Git 2.0 ;-).
* nd/parse-pathspec (2013-01-11) 20 commits
. Convert more init_pathspec() to parse_pathspec()
. Convert add_files_to_cache to take struct pathspec
. Convert {read,fill}_directory to take struct pathspec
. Convert refresh_index to take struct pathspec
. Convert report_path_error to take struct pathspec
. checkout: convert read_tree_some to take struct pathspec
. Convert unmerge_cache to take struct pathspec
. Convert read_cache_preload() to take struct pathspec
. add: convert to use parse_pathspec
. archive: convert to use parse_pathspec
. ls-files: convert to use parse_pathspec
. rm: convert to use parse_pathspec
. checkout: convert to use parse_pathspec
. rerere: convert to use parse_pathspec
. status: convert to use parse_pathspec
. commit: convert to use parse_pathspec
. clean: convert to use parse_pathspec
. Export parse_pathspec() and convert some get_pathspec() calls
. Add parse_pathspec() that converts cmdline args to struct pathspec
. pathspec: save the non-wildcard length part
Uses the parsed pathspec structure in more places where we used to
use the raw "array of strings" pathspec.
Ejected from 'pu' for now; will take a look at the rerolled one
later ($gmane/213340).
* jc/doc-maintainer (2013-01-03) 2 commits
(merged to 'next' on 2013-01-11 at f35d582)
+ howto/maintain: mark titles for asciidoc
+ Documentation: update "howto maintain git"
Describe tools for automation that were invented since this
document was originally written.
* mo/cvs-server-updates (2012-12-09) 18 commits
(merged to 'next' on 2013-01-08 at 75e2d11)
+ t9402: Use TABs for indentation
+ t9402: Rename check.cvsCount and check.list
+ t9402: Simplify git ls-tree
+ t9402: Add missing &&; Code style
+ t9402: No space after IO-redirection
+ t9402: Dont use test_must_fail cvs
+ t9402: improve check_end_tree() and check_end_full_tree()
+ t9402: sed -i is not portable
+ cvsserver Documentation: new cvs ... -r support
+ cvsserver: add t9402 to test branch and tag refs
+ cvsserver: support -r and sticky tags for most operations
+ cvsserver: Add version awareness to argsfromdir
+ cvsserver: generalize getmeta() to recognize commit refs
+ cvsserver: implement req_Sticky and related utilities
+ cvsserver: add misc commit lookup, file meta data, and file listing functions
+ cvsserver: define a tag name character escape mechanism
+ cvsserver: cleanup extra slashes in filename arguments
+ cvsserver: factor out git-log parsing logic
Various git-cvsserver updates.
Will merge to 'master'.
* as/check-ignore (2013-01-16) 13 commits
(merged to 'next' on 2013-01-18 at ef45aff)
+ clean.c, ls-files.c: respect encapsulation of exclude_list_groups
(merged to 'next' on 2013-01-14 at 9df2afc)
+ t0008: avoid brace expansion
+ add git-check-ignore sub-command
+ setup.c: document get_pathspec()
+ add.c: extract new die_if_path_beyond_symlink() for reuse
+ add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
+ pathspec.c: rename newly public functions for clarity
+ add.c: move pathspec matchers into new pathspec.c for reuse
+ add.c: remove unused argument from validate_pathspec()
+ dir.c: improve docs for match_pathspec() and match_pathspec_depth()
+ dir.c: provide clear_directory() for reclaiming dir_struct memory
+ dir.c: keep track of where patterns came from
+ dir.c: use a single struct exclude_list per source of excludes
Add a new command "git check-ignore" for debugging .gitignore
files.
The variable names may want to get cleaned up but that can be done
in-tree.
Will merge to 'master'.
* nd/retire-fnmatch (2013-01-01) 7 commits
(merged to 'next' on 2013-01-07 at ab31f9b)
+ Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
+ wildmatch: advance faster in <asterisk> + <literal> patterns
+ wildmatch: make a special case for "*/" with FNM_PATHNAME
+ test-wildmatch: add "perf" command to compare wildmatch and fnmatch
+ wildmatch: support "no FNM_PATHNAME" mode
+ wildmatch: make dowild() take arbitrary flags
+ wildmatch: rename constants and update prototype
Originally merged to 'next' on 2013-01-04
Replace our use of fnmatch(3) with a more feature-rich wildmatch.
A handful patches at the bottom have been moved to nd/wildmatch to
graduate as part of that branch, before this series solidifies.
Will merge to 'master'.
* mb/gitweb-highlight-link-target (2012-12-20) 1 commit
- Highlight the link target line in Gitweb using CSS
Expecting a reroll.
$gmane/211935
* bc/append-signed-off-by (2013-01-21) 10 commits
- Unify appending signoff in format-patch, commit and sequencer
- format-patch: update append_signoff prototype
- t4014: more tests about appending s-o-b lines
- sequencer.c: teach append_signoff to avoid adding a duplicate newline
- sequencer.c: teach append_signoff how to detect duplicate s-o-b
- sequencer.c: always separate "(cherry picked from" from commit body
- sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
- t/t3511: add some tests of 'cherry-pick -s' functionality
- t/test-lib-functions.sh: allow to specify the tag name to test_commit
- sequencer.c: remove broken support for rfc2822 continuation in footer
Rerolled.
Seems that we will see another round.
--------------------------------------------------
[Discarded]
* er/replace-cvsimport (2013-01-12) 7 commits
. t/lib-cvs: cvsimport no longer works without Python >= 2.7
. t9605: test for cvsps commit ordering bug
. t9604: fixup for new cvsimport
. t9600: fixup for new cvsimport
. t/lib-cvs.sh: allow cvsps version 3.x.
. t/t960[123]: remove leftover scripts
. cvsimport: rewrite to use cvsps 3.x to fix major bugs
Rerolled as jc/cvsimport-upgrade.
* jc/valgrind-memcmp-bsearch (2013-01-14) 1 commit
. ignore memcmp() overreading in bsearch() callback
Squelch false positive in valgrind tests; made unnecessary by
rewriting the callsite that confuses the tool.
^ permalink raw reply
* Re: GIT get corrupted on lustre
From: Eric Chamberland @ 2013-01-22 22:46 UTC (permalink / raw)
To: Thomas Rast
Cc: Brian J. Murrell, git, kusmabite, Pyeron, Jason J CTR (US),
Maxime Boissonneault, Philippe Vaucher, Sébastien Boisvert
In-Reply-To: <878v7keuh3.fsf@pctrast.inf.ethz.ch>
On 01/22/2013 05:14 PM, Thomas Rast wrote:
> Eric Chamberland <Eric.Chamberland@giref.ulaval.ca> writes:
>
>> So, hum, do we have some sort of conclusion?
>>
>> Shall it be a fix for git to get around that lustre "behavior"?
>>
>> If something can be done in git it would be great: it is a *lot*
>> easier to change git than the lustre filesystem software for a cluster
>> in running in production mode... (words from cluster team) :-/
>
> I thought you already established that simply disabling the progress
> display is a sufficient workaround? If that doesn't help, you can try
> patching out all use of SIGALRM within git.
>
I tried that solution after Brian told me to try it, but it didn't
solved the problem for me! :-(
> Other than that I agree with Junio, from what we've seen so far, Lustre
> returns EINTR on all sorts of calls that simply aren't allowed to do so.
>
Ok, so now the "good" move would be to have all this reported to lustre
development team? Brian, have you seen anything new from what you have
already reported? I have to admit that I am not a fs expert...
And I also agree with Junio point of view: The problem may impact
mission critical applications....
Eric
^ permalink raw reply
* Re: [PATCH v3 01/10] wildmatch: fix "**" special case
From: Junio C Hamano @ 2013-01-22 22:51 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy; +Cc: git
In-Reply-To: <7vr4lcnbn5.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
> We obviously do not want to set FNM_PATHNAME when we are not
> substituting fnmatch() with wildmatch(), but I wonder if it may make
> sense to unconditionally use WM_PATHNAME semantics when we build the
> system with USE_WILDMATCH and calling wildmatch() in this codepath.
> Users can always use "*/**/*" in place of "*" in their patterns
> where they want to ignore directory boundaries.
Another possibility, which _might_ make more practical sense, is to
update dowild() so that any pattern that has (^|/)**(/|$) in it
implicitly turns the WM_PATHNAME flag on. There is no reason for
the user to feed it a double-asterisk unless it is an attempt to
defeat some directory boundaries, so we already know that the user
expects WM_PATHNAME behaviour at that point. Otherwise, the user
would have simply said '*' instead, wouldn't he?
I said "_might_" because it sounds a bit too magical to my taste.
I dunno.
^ permalink raw reply
* Re: [PATCH] all: new command used for multi-repo operations
From: Lars Hjemli @ 2013-01-22 23:35 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7vmww0nahd.fsf@alter.siamese.dyndns.org>
On Tue, Jan 22, 2013 at 11:01 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Lars Hjemli <hjemli@gmail.com> writes:
>
>> +static struct option builtin_all_options[] = {
>> + OPT_BOOLEAN('c', "clean", &only_clean, N_("only show clean repositories")),
>> + OPT_BOOLEAN('d', "dirty", &only_dirty, N_("only show dirty repositories")),
>> + OPT_END(),
>> +};
>
> Shouldn't this be more like OPT_SET_INT() on a same variable that is
> initialized to "all"? Alternatively you could validate the input
> and die when both are given.
OPT_SET_INT() seems appropriate, will fix.
>
>> +int cmd_all(int argc, const char **argv, const char *prefix)
>> +{
>> + struct strbuf path = STRBUF_INIT;
>> +
>> + if (!getcwd(root, sizeof(root)))
>> + return 1;
>> +
>> + argc = parse_options(argc, argv, prefix, builtin_all_options,
>> + builtin_all_usage, PARSE_OPT_STOP_AT_NON_OPTION);
>> +
>> + unsetenv(GIT_DIR_ENVIRONMENT);
>> + unsetenv(GIT_WORK_TREE_ENVIRONMENT);
>
> Don't you need to clear other variables whose uses are closely tied
> to a single repository, like GIT_INDEX_FILE, etc.?
>
> I suspect that explicitly exporting GIT_DIR and GIT_WORK_TREE (and
> nothing else) in handle_repo() to the location you discovered before
> you run the per-repository command via run_command_v_opt(), might be
> a better alternative. The user could be sharing objects in all
> repositories by permanently setting GIT_OBJECT_DIRECTORY to a single
> place.
>
This sounds like a nice plan, I'll test it and send an updated patch.
>> diff --git a/command-list.txt b/command-list.txt
>> index 7e8cfec..f955895 100644
>> --- a/command-list.txt
>> +++ b/command-list.txt
>> @@ -1,6 +1,7 @@
>> # List of known git commands.
>> # command name category [deprecated] [common]
>> git-add mainporcelain common
>> +git-all mainporcelain
>> git-am mainporcelain
>> git-annotate ancillaryinterrogators
>> git-apply plumbingmanipulators
>
> I am not very interested in this topic in the first place, but this
> does not (at least not yet) sound like a main Porcelain to me.
There doesn't seem to be a better category, but I'm open for suggestions.
>
> "all" may be a word other people may want to use to call collections
> of things other than "Git repositories", and that use may turn out
> to be more useful in general. A name that makes it clear that this
> is about "repositories", i.e. along the lines of "git for-each-repo"
> or something, would be a better name that does not squat on such a
> short and sweet name.
>
In principle I agree with your reasoning on this, but in practice I
fail to see what other kind of things `git all` could naturally refer
to. Also, having a short and sweet way to perform the tasks
implemented by this patch was my main motivation for writing it [1],
hence `git for-each-repo` isn't as compelling (too much typing).
There's always aliases, but I'd prefer it if future git supported `git
all` by default.
--
larsh
[1] Originally as a shell script, used at $WORK for ~2 years
^ permalink raw reply
* Re: What's cooking in git.git (Jan 2013, #08; Tue, 22)
From: John Keeping @ 2013-01-22 23:45 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7va9s0n8gv.fsf@alter.siamese.dyndns.org>
On Tue, Jan 22, 2013 at 02:44:48PM -0800, Junio C Hamano wrote:
> * jc/cvsimport-upgrade (2013-01-14) 8 commits
> - t9600: adjust for new cvsimport
> - t9600: further prepare for sharing
> - cvsimport-3: add a sample test
> - cvsimport: make tests reusable for cvsimport-3
> - cvsimport: start adding cvsps 3.x support
> - cvsimport: introduce a version-switch wrapper
> - cvsimport: allow setting a custom cvsps (2.x) program name
> - Makefile: add description on PERL/PYTHON_PATH
>
> The most important part of this series is the addition of the new
> cvsimport by Eric Raymond that works with cvsps 3.x. Given some
> distros have inertia to be conservative, Git with cvsimport that
> does not work with both 3.x will block adoption of cvsps 3.x by
> them, and shipping Git with cvsimport that does not work with cvsps
> 2.x will block such a version of Git, so we'll do the proven "both
> old and new are available, but we aim to deprecate and remove the
> old one in due time" strategy that we used successfully in the
> past.
>
> Will merge to 'next'.
Would you mind holding off on this? As it stands there are a couple of
issues with the cvsimport-3 script including:
* It doesn't read any configuration from "git config" as
git-cvsimport-2 does.
* Incremental import is copmletely broken - it needs to pass "-i" to
cvsps-3 and even then timestamp handling is completely broken.
I have fixes for these that are nearly ready, but to fully fix the
incremental import issue I'll need to persuade ESR to take a patch which
lets us feed cvsps-3 a mapping from branch names to last commit times.
I suspect people are already used to the ways in which cvsimport-2 is
broken so I think we should take a bit more time to get this right with
cvsimport-3, especially since the people most likely to be using this
will be those regularly updating from a CVS repository with incremental
updates.
John
^ permalink raw reply
* Re: [PATCH v3 2/6] Change 'git' to 'Git' whenever the whole system is referred to #1
From: Junio C Hamano @ 2013-01-22 23:48 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: davvid, git
In-Reply-To: <1430594044.632790.1358795873467.JavaMail.ngmail@webmail20.arcor-online.net>
Thomas Ackermann <th.acker@arcor.de> writes:
> Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
> ---
> diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt
> index 9f42c0d..14bdbbb 100644
> --- a/Documentation/git-clean.txt
> +++ b/Documentation/git-clean.txt
> @@ -33,7 +33,7 @@ OPTIONS
>
> -f::
> --force::
> - If the git configuration variable clean.requireForce is not set
> + If the Git configuration variable clean.requireForce is not set
> to false, 'git clean' will refuse to run unless given -f or -n.
Before this description, -d option talks about a different Git
repository; s/git/Git/ is needed there.
> diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
> index 597048b..47d9880 100644
> --- a/Documentation/git-clone.txt
> +++ b/Documentation/git-clone.txt
> @@ -214,7 +214,7 @@ objects from the source repository into a pack in the cloned repository.
> Instead of placing the cloned repository where it is supposed
> to be, place the cloned repository at the specified directory,
> then make a filesytem-agnostic git symbolic link to there.
Shouldn't this be "Git symbolic link"?
> diff --git a/Documentation/Makefile b/Documentation/Makefile
> index 971977b..a7a4f75 100644
> --- a/Documentation/Makefile
> +++ b/Documentation/Makefile
> @@ -347,7 +347,7 @@ install-webdoc : html
> '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
>
> # You must have a clone of git-htmldocs and git-manpages repositories
> -# next to the git repository itself for the following to work.
> +# next to the Git repository itself for the following to work.
>
> quick-install: quick-install-man
This is *wrong*. It refers to the name of the repository whose
natural name is "git", as most people get it by
git clone git://git.kernel.org/pub/scm/git/git.git
and telling the users to do
git clone git://git.kernel.org/pub/scm/git/git-htmldocs.git
git clone git://git.kernel.org/pub/scm/git/git-manpages.git
in the same directory as they cloned git.git into (i.e. have these
two next to their clone of git.git, which is typically called "git").
I'll revert this part.
> diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.txt
> index 262436b..1e5ef3b 100644
> --- a/Documentation/git-rm.txt
> +++ b/Documentation/git-rm.txt
> @@ -74,7 +74,7 @@ DISCUSSION
>
> The <file> list given to the command can be exact pathnames,
> file glob patterns, or leading directory names. The command
> -removes only the paths that are known to git. Giving the name of
> +removes only the paths that are known to Git. Giving the name of
> a file that you have not told git about does not remove that file.
This should be "you have not told Git about".
> diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
> index e2301f5..c07ad61 100644
> --- a/Documentation/git-filter-branch.txt
> +++ b/Documentation/git-filter-branch.txt
> @@ -29,7 +29,7 @@ The command will only rewrite the _positive_ refs mentioned in the
> command line (e.g. if you pass 'a..b', only 'b' will be rewritten).
> If you specify no filters, the commits will be recommitted without any
> changes, which would normally have no effect. Nevertheless, this may be
> -useful in the future for compensating for some git bugs or such,
> +useful in the future for compensating for some Git bugs or such,
> therefore such a usage is permitted.
The description before this hunk begins with "Lets you rewrite git
version history", which you need s/git/Git/.
> diff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt
> index 9a914d0..3a62f50 100644
> --- a/Documentation/git-format-patch.txt
> +++ b/Documentation/git-format-patch.txt
> @@ -525,8 +525,8 @@ $ git format-patch -M -B origin
> Additionally, it detects and handles renames and complete rewrites
> intelligently to produce a renaming patch. A renaming patch reduces
> the amount of text output, and generally makes it easier to review.
> -Note that non-git "patch" programs won't understand renaming patches, so
> -use it only when you know the recipient uses git to apply your patch.
> +Note that non-Git "patch" programs won't understand renaming patches, so
> +use it only when you know the recipient uses Git to apply your patch.
Unrelated to the topic of this series, but didn't GNU patch add this
recently? Somebody needs a fact-check and may have to update the
above with something like "prior to GNU patch x.y..."
> diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
> index 9e0b3f6..071e947 100644
> --- a/Documentation/git-help.txt
> +++ b/Documentation/git-help.txt
> @@ -14,7 +14,7 @@ DESCRIPTION
> -----------
>
> With no options and no COMMAND given, the synopsis of the 'git'
> -command and a list of the most commonly used git commands are printed
> +command and a list of the most commonly used Git commands are printed
> on the standard output.
>
> If the option '--all' or '-a' is given, then all available commands are
After this hunk there is
If a git command is named, a manual page for that...
It is trying to refer to things like "cat-file" as "git command"
(even though technically I would call them "subcommands"), and I
would say "cat-file" is a subcommand of the system whose whole is
known as "Git". So I think s/git/Git/ is warranted here.
> diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
> index 9ac2bba..2571f56 100644
> --- a/Documentation/git-init.txt
> +++ b/Documentation/git-init.txt
> @@ -58,19 +58,19 @@ DIRECTORY" section below.)
> --separate-git-dir=<git dir>::
>
> Instead of initializing the repository where it is supposed to be,
> -place a filesytem-agnostic git symbolic link there, pointing to the
> -specified git path, and initialize a git repository at the path. The
> -result is git repository can be separated from working tree. If this
> +place a filesytem-agnostic Git symbolic link there, pointing to the
> +specified Git path, and initialize a Git repository at the path. The
> +result is Git repository can be separated from working tree. If this
Not a problem with this conversion, but I think "pointing to the
specified [gG]it path" should be without "[gG]it". There is nothing
specially Git about the path to the directory the user specifies. It
is just an ordinary filesystem path.
I'll try to fix all of the above up locally and re-queue, so please
eyeball the results once it is pushed out.
^ permalink raw reply
* Re: What's cooking in git.git (Jan 2013, #08; Tue, 22)
From: Junio C Hamano @ 2013-01-23 0:11 UTC (permalink / raw)
To: John Keeping; +Cc: git, Eric S. Raymond, Chris Rorvick
In-Reply-To: <20130122234554.GI7498@serenity.lan>
John Keeping <john@keeping.me.uk> writes:
> On Tue, Jan 22, 2013 at 02:44:48PM -0800, Junio C Hamano wrote:
>> * jc/cvsimport-upgrade (2013-01-14) 8 commits
>> - t9600: adjust for new cvsimport
>> - t9600: further prepare for sharing
>> - cvsimport-3: add a sample test
>> - cvsimport: make tests reusable for cvsimport-3
>> - cvsimport: start adding cvsps 3.x support
>> - cvsimport: introduce a version-switch wrapper
>> - cvsimport: allow setting a custom cvsps (2.x) program name
>> - Makefile: add description on PERL/PYTHON_PATH
>>
>> The most important part of this series is the addition of the new
>> cvsimport by Eric Raymond that works with cvsps 3.x. Given some
>> distros have inertia to be conservative, Git with cvsimport that
>> does not work with both 3.x will block adoption of cvsps 3.x by
>> them, and shipping Git with cvsimport that does not work with cvsps
>> 2.x will block such a version of Git, so we'll do the proven "both
>> old and new are available, but we aim to deprecate and remove the
>> old one in due time" strategy that we used successfully in the
>> past.
>>
>> Will merge to 'next'.
>
> Would you mind holding off on this? As it stands there are a couple of
> issues with the cvsimport-3 script including: ...
Actually I do. I think this, at least the early part of it, should
be merged to 'next' as soon as possible, *unless*
(1) The cvsimport-2 & cvsps2 combo this series ships gives worse
experience than cvsimport we ship in v1.8.1 to end users of the
current cvsimport with cvsps2; and/or
(2) The cvsimport-3 in this series, which is a copy of an older
version of what Eric has, is so broken that we are better off
starting cvsimport-3 by getting a fresh copy from Eric which
has been rewritten in a major way, than applying huge
incremental update patches that amounts to a total rewrite.
The point (1) is important from "no regression" point of view, and
in a sense more important between the two because it is the first
step in the overall transition plan.
Even though there may be remaining issues in cvsimport-3 and cvsps3
(what new piece of software don't have issues?), my limited
observation of the exchanges between you and Eric suggests me that
the problem is not something that requires a total rewrite of how
cvsimport-3 works, so I do not expect the point (2) to be true,
either, but if I am mistaken, please let me know.
By advancing the topic to 'next', we will give people a more solid
(read: not getting rewound) foundation to work with than "if you are
really interested, grab the tip of 'pu', replace it with even newer
copy from Eric's repository and try it out", so that more people can
help us polish the scaffolding to let us ship two versions and also
find issues in the new cvsimport-3 and help fixing them. At least,
that is what I've been hoping.
I could stop at the first three patches, that is, introducing the
version switch wrapper that switches between cvsps2+cvsimport-2
combo and nothing, and then let you and Eric redo the "start adding
cvsps 3.x support" and later patches when cvsimport-3 is ready.
That would give you a larger lattitude to rework cvsimport-3. Is
that preferrable?
^ permalink raw reply
* Re: [PATCH] all: new command used for multi-repo operations
From: Junio C Hamano @ 2013-01-23 0:13 UTC (permalink / raw)
To: Lars Hjemli; +Cc: git
In-Reply-To: <CAFXTnz62H24G9Zp5EgG47MyNdDz0KddX2n34G_1-RV_yP-ELkA@mail.gmail.com>
Lars Hjemli <hjemli@gmail.com> writes:
> In principle I agree with your reasoning on this, but in practice I
> fail to see what other kind of things `git all` could naturally refer
> to.
For example, the designers of 'for-each-ref' could have called it
"git all", as it is to iterate over all refs.
^ permalink raw reply
* Re: [PATCH v3 2/6] Change 'git' to 'Git' whenever the whole system is referred to #1
From: Junio C Hamano @ 2013-01-23 0:19 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: davvid, git
In-Reply-To: <7vsj5slqz1.fsf@alter.siamese.dyndns.org>
This is the summary of the review comments in a patch form.
Subject: [PATCH] fixup! Change 'git' to 'Git' whenever the whole system is referred to #1
---
Documentation/Makefile | 4 ++--
Documentation/git-clean.txt | 2 +-
Documentation/git-clone.txt | 2 +-
Documentation/git-filter-branch.txt | 2 +-
Documentation/git-help.txt | 2 +-
Documentation/git-init.txt | 2 +-
Documentation/git-rm.txt | 2 +-
7 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index a7a4f75..c2d3ec1 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -346,8 +346,8 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
install-webdoc : html
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
-# You must have a clone of git-htmldocs and git-manpages repositories
-# next to the Git repository itself for the following to work.
+# You must have a clone of 'git-htmldocs' and 'git-manpages' repositories
+# next to the 'git' repository itself for the following to work.
quick-install: quick-install-man
diff --git a/Documentation/git-clean.txt b/Documentation/git-clean.txt
index 14bdbbb..bdc3ab8 100644
--- a/Documentation/git-clean.txt
+++ b/Documentation/git-clean.txt
@@ -27,7 +27,7 @@ OPTIONS
-------
-d::
Remove untracked directories in addition to untracked files.
- If an untracked directory is managed by a different git
+ If an untracked directory is managed by a different Git
repository, it is not removed by default. Use -f option twice
if you really want to remove such a directory.
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 47d9880..5c16e31 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -213,7 +213,7 @@ objects from the source repository into a pack in the cloned repository.
--separate-git-dir=<git dir>::
Instead of placing the cloned repository where it is supposed
to be, place the cloned repository at the specified directory,
- then make a filesytem-agnostic git symbolic link to there.
+ then make a filesytem-agnostic Git symbolic link to there.
The result is Git repository can be separated from working
tree.
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index c07ad61..dfd12c9 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -18,7 +18,7 @@ SYNOPSIS
DESCRIPTION
-----------
-Lets you rewrite git revision history by rewriting the branches mentioned
+Lets you rewrite Git revision history by rewriting the branches mentioned
in the <rev-list options>, applying custom filters on each revision.
Those filters can modify each tree (e.g. removing a file or running
a perl rewrite on all files) or information about each commit.
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 071e947..835fba0 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -20,7 +20,7 @@ on the standard output.
If the option '--all' or '-a' is given, then all available commands are
printed on the standard output.
-If a git command is named, a manual page for that command is brought
+If a Git subcommand is named, a manual page for that subcommand is brought
up. The 'man' program is used by default for this purpose, but this
can be overridden by other options or configuration variables.
diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
index 2571f56..afd721e 100644
--- a/Documentation/git-init.txt
+++ b/Documentation/git-init.txt
@@ -59,7 +59,7 @@ DIRECTORY" section below.)
Instead of initializing the repository where it is supposed to be,
place a filesytem-agnostic Git symbolic link there, pointing to the
-specified Git path, and initialize a Git repository at the path. The
+specified path, and initialize a Git repository at the path. The
result is Git repository can be separated from working tree. If this
is reinitialization, the repository will be moved to the specified
path.
diff --git a/Documentation/git-rm.txt b/Documentation/git-rm.txt
index 1e5ef3b..92bac27 100644
--- a/Documentation/git-rm.txt
+++ b/Documentation/git-rm.txt
@@ -75,7 +75,7 @@ DISCUSSION
The <file> list given to the command can be exact pathnames,
file glob patterns, or leading directory names. The command
removes only the paths that are known to Git. Giving the name of
-a file that you have not told git about does not remove that file.
+a file that you have not told Git about does not remove that file.
File globbing matches across directory boundaries. Thus, given
two directories `d` and `d2`, there is a difference between
--
1.8.1.1.507.g1754052
^ permalink raw reply related
* Re: [PATCH] all: new command used for multi-repo operations
From: David Aguilar @ 2013-01-23 0:43 UTC (permalink / raw)
To: Lars Hjemli; +Cc: git
In-Reply-To: <1358889019-4554-1-git-send-email-hjemli@gmail.com>
On Tue, Jan 22, 2013 at 1:10 PM, Lars Hjemli <hjemli@gmail.com> wrote:
> When working with multiple, unrelated (or loosly related) git repos,
> there is often a need to locate all repos with uncommitted work and
> perform some action on them (say, commit and push). Before this patch,
> such tasks would require manually visiting all repositories, running
> `git status` within each one and then decide what to do next.
>
> This mundane task can now be automated by e.g. `git all --dirty status`,
> which will find all git repositories below the current directory (even
> nested ones), check if they are dirty (as defined by `git diff --quiet &&
> git diff --cached --quiet`), and for each dirty repo print the path to the
> repo and then execute `git status` within the repo.
>
> The command also honours the option '--clean' which restricts the set of
> repos to those which '--dirty' would skip.
>
> Finally, the command to execute within each repo is optional. If none is
> given, git-all will just print the path to each repo found.
>
> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
> ---
> Documentation/git-all.txt | 37 ++++++++++++++++
> Makefile | 1 +
> builtin.h | 1 +
> builtin/all.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++
> command-list.txt | 1 +
> git.c | 1 +
> t/t0064-all.sh | 42 +++++++++++++++++++
> 7 files changed, 188 insertions(+)
> create mode 100644 Documentation/git-all.txt
> create mode 100644 builtin/all.c
> create mode 100755 t/t0064-all.sh
>
> diff --git a/Documentation/git-all.txt b/Documentation/git-all.txt
> new file mode 100644
> index 0000000..b25f23c
> --- /dev/null
> +++ b/Documentation/git-all.txt
> @@ -0,0 +1,37 @@
> +git-all(1)
> +==========
> +
> +NAME
> +----
> +git-all - Execute a git command in multiple repositories
> +
> +SYNOPSIS
> +--------
> +[verse]
> +'git all' [--dirty|--clean] [command]
> +
> +DESCRIPTION
> +-----------
> +The git-all command is used to locate all git repositoris within the
> +current directory tree, and optionally execute a git command in each
> +of the found repos.
> +
> +OPTIONS
> +-------
> +-c::
> +--clean::
> + Only include repositories with a clean worktree.
> +
> +-d::
> +--dirty::
> + Only include repositories with a dirty worktree.
> +
> +NOTES
> +-----
> +
> +For the purpose of `git-all`, a dirty worktree is defined as a worktree
> +with uncommitted changes.
> +
> +GIT
> +---
> +Part of the linkgit:git[1] suite
> diff --git a/Makefile b/Makefile
> index 1b30d7b..8bf0583 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -840,6 +840,7 @@ LIB_OBJS += xdiff-interface.o
> LIB_OBJS += zlib.o
>
> BUILTIN_OBJS += builtin/add.o
> +BUILTIN_OBJS += builtin/all.o
> BUILTIN_OBJS += builtin/annotate.o
> BUILTIN_OBJS += builtin/apply.o
> BUILTIN_OBJS += builtin/archive.o
> diff --git a/builtin.h b/builtin.h
> index 7e7bbd6..438c265 100644
> --- a/builtin.h
> +++ b/builtin.h
> @@ -41,6 +41,7 @@ void finish_copy_notes_for_rewrite(struct notes_rewrite_cfg *c);
> extern int textconv_object(const char *path, unsigned mode, const unsigned char *sha1, int sha1_valid, char **buf, unsigned long *buf_size);
>
> extern int cmd_add(int argc, const char **argv, const char *prefix);
> +extern int cmd_all(int argc, const char **argv, const char *prefix);
> extern int cmd_annotate(int argc, const char **argv, const char *prefix);
> extern int cmd_apply(int argc, const char **argv, const char *prefix);
> extern int cmd_archive(int argc, const char **argv, const char *prefix);
> diff --git a/builtin/all.c b/builtin/all.c
> new file mode 100644
> index 0000000..ee9270d
> --- /dev/null
> +++ b/builtin/all.c
> @@ -0,0 +1,105 @@
> +/*
> + * "git all" builtin command.
> + *
> + * Copyright (c) 2013 Lars Hjemli <hjemli@gmail.com>
> + */
> +#include "cache.h"
> +#include "color.h"
> +#include "builtin.h"
> +#include "run-command.h"
> +#include "parse-options.h"
> +
> +static int only_dirty;
> +static int only_clean;
> +char root[PATH_MAX];
> +
> +static const char * const builtin_all_usage[] = {
> + N_("git all [options] [cmd]"),
> + NULL
> +};
> +
> +static struct option builtin_all_options[] = {
> + OPT_BOOLEAN('c', "clean", &only_clean, N_("only show clean repositories")),
> + OPT_BOOLEAN('d', "dirty", &only_dirty, N_("only show dirty repositories")),
> + OPT_END(),
> +};
> +
> +static int is_dirty()
> +{
> + const char *diffidx[] = {"diff", "--quiet", "--cached", NULL};
> + const char *diffwd[] = {"diff", "--quiet", NULL};
> +
> + if (run_command_v_opt(diffidx, RUN_GIT_CMD) != 0)
> + return 1;
> + if (run_command_v_opt(diffwd, RUN_GIT_CMD) != 0)
> + return 1;
> + return 0;
> +}
> +
> +static void handle_repo(char *path, const char **argv)
> +{
> + int dirty;
> +
> + if (path[0] == '.' && path[1] == '/')
> + path += 2;
> + if (only_dirty || only_clean) {
> + dirty = is_dirty();
> + if ((dirty && only_clean) ||
> + (!dirty && only_dirty))
> + return;
> + }
> + if (*argv) {
> + color_fprintf_ln(stdout, GIT_COLOR_YELLOW, "[%s]", path);
> + run_command_v_opt(argv, RUN_GIT_CMD);
> + } else
> + printf("%s\n", path);
> +}
> +
> +static int walk(struct strbuf *path, int argc, const char **argv)
> +{
> + DIR *dir;
> + struct dirent *ent;
> + size_t len;
> +
> + dir = opendir(path->buf);
> + if (!dir)
> + return errno;
> + strbuf_addstr(path, "/");
> + len = path->len;
> + while ((ent = readdir(dir))) {
> + if (!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, ".."))
> + continue;
> + if (!strcmp(ent->d_name, ".git")) {
> + strbuf_setlen(path, len - 1);
> + chdir(path->buf);
> + handle_repo(path->buf, argv);
> + chdir(root);
> + strbuf_addstr(path, "/");
> + continue;
> + }
Does this section above properly handle .git files (where .git is a
file, not a directory)? I wonder whether the check should be tighter,
e.g. something closer to what's done in setup.c:is_git_repository().
The name of this function leads me to believe that this walks
everything below the current directory looking for Git repos. How
deep does it walk? Does this handle nested repositories, e.g.
foo/bar/ and foo/bar/baz/ when you are inside foo/ ? After re-reading
the documentation I am led to believe that it only walks one level
deep.
I did not notice a test for nested repos which is what sparked my
curiosity. ;-) If we do not expect to handle them in the first
version then we should have a test to ensure the expected behavior.
It would also be nice to see a test with a .git file.
I do wonder what the end user experience is with this command when
used alongside other Git aggregate commands such as "repo" or "git
submodule". This command is basically "git submodule foreach ..."
without needing to buy into the whole submodule thing. This is an
argument for naming it something like "git foreach-repo" since it
would be named more closely to the "foreach" submodule command.
While "all" is less to type than "foreach-repo", most of the extra
work can be eliminated by installing the wonderful git completion
scripts for bash/zsh.
All that said, I have very real use cases for this command. Thanks
for writing it.
> + if (ent->d_type != DT_DIR)
> + continue;
> + strbuf_setlen(path, len);
> + strbuf_addstr(path, ent->d_name);
> + walk(path, argc, argv);
> + }
> + closedir(dir);
> + return 0;
> +}
> +
> +int cmd_all(int argc, const char **argv, const char *prefix)
> +{
> + struct strbuf path = STRBUF_INIT;
> +
> + if (!getcwd(root, sizeof(root)))
> + return 1;
> +
> + argc = parse_options(argc, argv, prefix, builtin_all_options,
> + builtin_all_usage, PARSE_OPT_STOP_AT_NON_OPTION);
> +
> + unsetenv(GIT_DIR_ENVIRONMENT);
> + unsetenv(GIT_WORK_TREE_ENVIRONMENT);
> +
> + strbuf_addstr(&path, ".");
> + return walk(&path, argc, argv);
> +}
> diff --git a/command-list.txt b/command-list.txt
> index 7e8cfec..f955895 100644
> --- a/command-list.txt
> +++ b/command-list.txt
> @@ -1,6 +1,7 @@
> # List of known git commands.
> # command name category [deprecated] [common]
> git-add mainporcelain common
> +git-all mainporcelain
> git-am mainporcelain
> git-annotate ancillaryinterrogators
> git-apply plumbingmanipulators
> diff --git a/git.c b/git.c
> index ed66c66..53fd963 100644
> --- a/git.c
> +++ b/git.c
> @@ -304,6 +304,7 @@ static void handle_internal_command(int argc, const char **argv)
> const char *cmd = argv[0];
> static struct cmd_struct commands[] = {
> { "add", cmd_add, RUN_SETUP | NEED_WORK_TREE },
> + { "all", cmd_all },
> { "annotate", cmd_annotate, RUN_SETUP },
> { "apply", cmd_apply, RUN_SETUP_GENTLY },
> { "archive", cmd_archive },
> diff --git a/t/t0064-all.sh b/t/t0064-all.sh
> new file mode 100755
> index 0000000..932e374
> --- /dev/null
> +++ b/t/t0064-all.sh
> @@ -0,0 +1,42 @@
> +#!/bin/sh
> +#
> +# Copyright (c) 2013 Lars Hjemli
> +#
> +
> +test_description='Test the git-all command'
> +
> +. ./test-lib.sh
> +
> +test_expect_success "setup" '
> + test_create_repo clean &&
> + (cd clean && test_commit foo) &&
> + test_create_repo dirty-wt &&
> + (cd dirty-wt && test_commit foo && rm foo.t) &&
> + test_create_repo dirty-idx &&
> + (cd dirty-idx && test_commit foo && git rm foo.t)
> +'
> +
> +test_expect_success "without flags, all repos are included" '
> + echo "." >expect &&
> + echo "clean" >>expect &&
> + echo "dirty-idx" >>expect &&
> + echo "dirty-wt" >>expect &&
> + git all | sort >actual &&
> + test_cmp expect actual
> +'
> +
> +test_expect_success "--dirty only includes dirty repos" '
> + echo "dirty-idx" >expect &&
> + echo "dirty-wt" >>expect &&
> + git all --dirty | sort >actual &&
> + test_cmp expect actual
> +'
> +
> +test_expect_success "--clean only includes clean repos" '
> + echo "." >expect &&
> + echo "clean" >>expect &&
> + git all --clean | sort >actual &&
> + test_cmp expect actual
> +'
> +
> +test_done
> --
> 1.8.1.1.296.g725455c
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
David
^ permalink raw reply
* Re: [PATCH v3 3/6] Change 'git' to 'Git' whenever the whole system is referred to #2
From: Junio C Hamano @ 2013-01-23 0:53 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: davvid, git
In-Reply-To: <2009548606.632825.1358795980319.JavaMail.ngmail@webmail20.arcor-online.net>
Thomas Ackermann <th.acker@arcor.de> writes:
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index b87f744..5a831ad2 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -1,14 +1,14 @@
> CONFIGURATION FILE
> ------------------
>
> -The git configuration file contains a number of variables that affect
> +The Git configuration file contains a number of variables that affect
> the git command's behavior. The `.git/config` file in each repository
I am torn on this one, in the sense that there are configuration
variables that changes the behaviour of 'git' wrapper itself, but
this explanation is talking more about all the 161 subcommands (no,
I am just kidding and didn't count) in the Git suite in general, so
I think s/git/Git/ is probably more appropriate.
> @@ -1039,7 +1039,7 @@ format.subjectprefix::
>
> format.signature::
> The default for format-patch is to output a signature containing
> - the git version number. Use this variable to change that default.
> + the Git version number. Use this variable to change that default.
> Set this variable to the empty string ("") to suppress
> signature generation.
Before this hunk, fetch.unpackLimit has this:
If the number of objects fetched over the git native
transfer is below...
s/git/Git/ is needed, I think.
> diff --git a/Documentation/git-remote-helpers.txt b/Documentation/git-remote-helpers.txt
> index 6d696e0..e18c3b0 100644
> --- a/Documentation/git-remote-helpers.txt
> +++ b/Documentation/git-remote-helpers.txt
> @@ -45,9 +45,9 @@ argument specifies a URL; it is usually of the form
> '<transport>://<address>', but any arbitrary string is possible.
> The 'GIT_DIR' environment variable is set up for the remote helper
> and can be used to determine where to store additional data or from
> -which directory to invoke auxiliary git commands.
> +which directory to invoke auxiliary Git commands.
The paragraph begins with this:
Remote helper programs are invoked with one or (optionally) two
arguments. The first argument specifies a remote repository as in git;
s/git/Git/ is needed, I think.
> diff --git a/Documentation/git-verify-pack.txt b/Documentation/git-verify-pack.txt
> index cd23076..d4ae05b 100644
> --- a/Documentation/git-verify-pack.txt
> +++ b/Documentation/git-verify-pack.txt
> @@ -14,7 +14,7 @@ SYNOPSIS
>
> DESCRIPTION
> -----------
> -Reads given idx file for packed git archive created with the
> +Reads given idx file for packed Git archive created with the
> 'git pack-objects' command and verifies idx file and the
> corresponding pack file.
The NAME section lists it as "Validate packed git archive files",
which wants a s/git/Git/, I think.
> diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
> index 2698f63..b9c0eec 100644
> --- a/Documentation/gitattributes.txt
> +++ b/Documentation/gitattributes.txt
> @@ -417,11 +417,11 @@ Generating diff text
> `diff`
> ^^^^^^
>
> -The attribute `diff` affects how 'git' generates diffs for particular
> -files. It can tell git whether to generate a textual patch for the path
> +The attribute `diff` affects how Git generates diffs for particular
> +files. It can tell Git whether to generate a textual patch for the path
> or to treat the path as a binary file. It can also affect what line is
> -shown on the hunk header `@@ -k,l +n,m @@` line, tell git to use an
> -external command to generate the diff, or ask git to convert binary
> +shown on the hunk header `@@ -k,l +n,m @@` line, tell Git to use an
> +external command to generate the diff, or ask Git to convert binary
> files to a text format before generating the diff.
>
> Set::
After this hunk, the description of "String" type says this:
... are defined by the configuration variables in the
"diff.foo" section of the git config file.
s/git/Git/ is needed, I think.
> @@ -650,7 +650,7 @@ advantages to choosing this method:
> odt2txt).
>
> 2. Git diff features. By performing only the transformation step
> - yourself, you can still utilize many of git's diff features,
> + yourself, you can still utilize many of Git's diff features,
> including colorization, word-diff, and combined diffs for merges.
>
> 3. Caching. Textconv caching can speed up repeated diffs, such as those
After this hunk, in "Marking file as binary" section, you have
This will cause git to generate `Binary files differ`...
s/git/Git/ is needed, I think.
As before, I'll locally create a fixup commit based on the above.
After I am done with these patches, somebody (not Thomas or I, as
our eyes are too used to staring at git and Git to notice mistakes)
has to run "git grep -C3 -e '\<Git\>' Documentation/" and eyeball
the output to spot mistakes that should have been "git" but was
converted to "Git", as I am mostly concentrating on finding "git"
that should have been converted in Thomas's series.
Thanks.
^ permalink raw reply
* Re: [PATCH v3 01/10] wildmatch: fix "**" special case
From: Duy Nguyen @ 2013-01-23 1:04 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
In-Reply-To: <7v1udcn84w.fsf@alter.siamese.dyndns.org>
On Wed, Jan 23, 2013 at 5:51 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Junio C Hamano <gitster@pobox.com> writes:
>
>> We obviously do not want to set FNM_PATHNAME when we are not
>> substituting fnmatch() with wildmatch(), but I wonder if it may make
>> sense to unconditionally use WM_PATHNAME semantics when we build the
>> system with USE_WILDMATCH and calling wildmatch() in this codepath.
>> Users can always use "*/**/*" in place of "*" in their patterns
>> where they want to ignore directory boundaries.
If we do that, we need to do the same in tree_entry_interesting(). In
other words, pathspec learns the new glob syntax. It's fine for an
experimental flag like USE_WILDMATCH. But after fnmatch is replaced by
wildmatch unconditionally (thus USE_WILDMATCH becomes obsolete), then
what? Should people who expects new syntax with USE_WILDMATCH continue
to have new syntax? How does a user know which syntax may be used in
his friend's "git" binary?
On a related subject, I've been meaning to write a mail about the
other use of patterns in git (e.g. in git-branch, git-tag,
git-apply...) but never got around to. Some use without FNM_PATHNAME,
some do and the document does not go into details about the
differences. We might want to unify the syntax there too. It'll
probably break backward compatibility so we can do the same when we
switch pathspec syntax.
> Another possibility, which _might_ make more practical sense, is to
> update dowild() so that any pattern that has (^|/)**(/|$) in it
> implicitly turns the WM_PATHNAME flag on. There is no reason for
> the user to feed it a double-asterisk unless it is an attempt to
> defeat some directory boundaries,
They may also put "**" by mistake (or realize they just put "**" but
too lazy to remove one asterisk).
> so we already know that the user
> expects WM_PATHNAME behaviour at that point. Otherwise, the user
> would have simply said '*' instead, wouldn't he?
The only problem I see is, without the version string, there's no way
to know if "**" is supported. Old git versions will happily take "**"
and interpret as "*". When you advise someone to use "**" you might
need to add "check if you have this version of git". This problem does
not exist with pathspec magic like :(glob)
> I said "_might_" because it sounds a bit too magical to my taste.
> I dunno.
--
Duy
^ permalink raw reply
* Re: [PATCH v3 2/6] Change 'git' to 'Git' whenever the whole system is referred to #1
From: Junio C Hamano @ 2013-01-23 2:24 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: davvid, git
In-Reply-To: <7vfw1slpig.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
> This is the summary of the review comments in a patch form.
>
And then there still are the ones in the file that was touched by
Thomas's 2/6 that need fixing.
Documentation/git-apply.txt | 2 +-
Documentation/git-archimport.txt | 2 +-
Documentation/git-cvsserver.txt | 8 ++++----
Documentation/git-help.txt | 2 +-
Documentation/git-mergetool--lib.txt | 2 +-
Documentation/git-p4.txt | 4 ++--
6 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index c1704dc..f605327 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -198,7 +198,7 @@ behavior:
* `fix` outputs warnings for a few such errors, and applies the
patch after fixing them (`strip` is a synonym --- the tool
used to consider only trailing whitespace characters as errors, and the
- fix involved 'stripping' them, but modern gits do more).
+ fix involved 'stripping' them, but modern Gits do more).
* `error` outputs warnings for a few such errors, and refuses
to apply the patch.
* `error-all` is similar to `error` but shows all errors.
diff --git a/Documentation/git-archimport.txt b/Documentation/git-archimport.txt
index 25b1cab..163b9f6 100644
--- a/Documentation/git-archimport.txt
+++ b/Documentation/git-archimport.txt
@@ -3,7 +3,7 @@ git-archimport(1)
NAME
----
-git-archimport - Import an Arch repository into git
+git-archimport - Import an Arch repository into Git
SYNOPSIS
diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
index dc5069f..7ca64b3 100644
--- a/Documentation/git-cvsserver.txt
+++ b/Documentation/git-cvsserver.txt
@@ -3,7 +3,7 @@ git-cvsserver(1)
NAME
----
-git-cvsserver - A CVS server emulator for git
+git-cvsserver - A CVS server emulator for Git
SYNOPSIS
--------
@@ -291,14 +291,14 @@ Variable substitution
In `dbdriver` and `dbuser` you can use the following variables:
%G::
- git directory name
+ Git directory name
%g::
- git directory name, where all characters except for
+ Git directory name, where all characters except for
alpha-numeric ones, `.`, and `-` are replaced with
`_` (this should make it easier to use the directory
name in a filename if wanted)
%m::
- CVS module/git head name
+ CVS module/Git head name
%a::
access method (one of "ext" or "pserver")
%u::
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 835fba0..e07b6dc 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -3,7 +3,7 @@ git-help(1)
NAME
----
-git-help - display help information about git
+git-help - Display help information about Git
SYNOPSIS
--------
diff --git a/Documentation/git-mergetool--lib.txt b/Documentation/git-mergetool--lib.txt
index b748bdf..055550b 100644
--- a/Documentation/git-mergetool--lib.txt
+++ b/Documentation/git-mergetool--lib.txt
@@ -3,7 +3,7 @@ git-mergetool{litdd}lib(1)
NAME
----
-git-mergetool--lib - Common git merge tool shell scriptlets
+git-mergetool--lib - Common Git merge tool shell scriptlets
SYNOPSIS
--------
diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
index 96a5b31..1d1b020 100644
--- a/Documentation/git-p4.txt
+++ b/Documentation/git-p4.txt
@@ -64,7 +64,7 @@ COMMANDS
Clone
~~~~~
-Generally, 'git p4 clone' is used to create a new git directory
+Generally, 'git p4 clone' is used to create a new Git directory
from an existing p4 repository:
------------
$ git p4 clone //depot/path/project
@@ -494,7 +494,7 @@ git-p4.detectCopiesHarder::
Detect copies harder. See linkgit:git-diff[1]. A boolean.
git-p4.preserveUser::
- On submit, re-author changes to reflect the git author,
+ On submit, re-author changes to reflect the Git author,
regardless of who invokes 'git p4 submit'.
git-p4.allowMissingP4Users::
^ permalink raw reply related
* Re: [PATCH v3 0/2] Make git-svn work with gitdir links
From: Eric Wong @ 2013-01-23 2:32 UTC (permalink / raw)
To: Barry Wardell; +Cc: git, Junio C Hamano
In-Reply-To: <1358731322-44600-1-git-send-email-barry.wardell@gmail.com>
Barry Wardell <barry.wardell@gmail.com> wrote:
> These patches fix a bug which prevented git-svn from working with repositories
> which use gitdir links.
>
> Changes since v2:
> - Rebased onto latest master.
> - Added test case which verifies that the problem has been fixed.
> - Fixed problems with git svn (init|clone|multi-init).
> - All git-svn test cases now pass (except two in t9101 which also failed
> before these patches).
t9101 did not fail for me before your patches. However I have a
patch on top of your 2/2 which should fix things.
`git rev-parse --show-cdup` outputs nothing if GIT_DIR is set,
so I unset GIT_DIR temporarily.
I'm not sure why --show-cdup behaves like this, though..
Does squashing this on top of your changes fix all your failures?
I plan on squashing both your changes together with the below:
diff --git a/git-svn.perl b/git-svn.perl
index c232798..e5bd292 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -332,11 +332,13 @@ if ($cmd && $cmd =~ /(?:clone|init|multi-init)$/) {
$ENV{GIT_DIR} = command_oneline([qw/rev-parse --git-dir/]);
} "Unable to find .git directory\n";
my $cdup = undef;
+ my $git_dir = delete $ENV{GIT_DIR};
git_cmd_try {
$cdup = command_oneline(qw/rev-parse --show-cdup/);
chomp $cdup if ($cdup);
$cdup = "." unless ($cdup && length $cdup);
- } "Already at toplevel, but $ENV{GIT_DIR} not found\n";
+ } "Already at toplevel, but $git_dir not found\n";
+ $ENV{GIT_DIR} = $git_dir;
chdir $cdup or die "Unable to chdir up to '$cdup'\n";
$_repository = Git->repository(Repository => $ENV{GIT_DIR});
}
^ permalink raw reply related
* Re: [PATCH v3 2/6] Change 'git' to 'Git' whenever the whole system is referred to #1
From: Junio C Hamano @ 2013-01-23 2:32 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: davvid, git
In-Reply-To: <7vfw1slpig.fsf@alter.siamese.dyndns.org>
In Documentation/git-rev-parse.txt, there is this bit:
--resolve-git-dir <path>::
Check if <path> is a valid git-dir or a git-file pointing to
a valid git-dir. If <path> is a valid git-dir the resolved path to
git-dir will be printed.
I think the author invented the word "git-dir" to mean what we
ordinarily call $GIT_DIR (i.e. the directory that contains the
repository data), and used "git-file" to mean what the code and
error messages call "gitfile". I think it is better to leave these
in lowercase, but we would need them in the glossary, probably after
rewriting the latter to "gitfile". The former may want to be
rewritten to "gitdir" or even "$GIT_DIR".
^ permalink raw reply
* Re: [PATCH v3 3/6] Change 'git' to 'Git' whenever the whole system is referred to #2
From: Junio C Hamano @ 2013-01-23 2:48 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: davvid, git
In-Reply-To: <7va9s0lnxn.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
> As before, I'll locally create a fixup commit based on the above.
>
> After I am done with these patches, somebody (not Thomas or I, as
> our eyes are too used to staring at git and Git to notice mistakes)
> has to run "git grep -C3 -e '\<Git\>' Documentation/" and eyeball
> the output to spot mistakes that should have been "git" but was
> converted to "Git", as I am mostly concentrating on finding "git"
> that should have been converted in Thomas's series.
Documentation/config.txt | 4 ++--
Documentation/git-remote-helpers.txt | 2 +-
Documentation/git-verify-pack.txt | 2 +-
Documentation/gitattributes.txt | 4 ++--
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 5a831ad2..3652ee0 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -2,7 +2,7 @@ CONFIGURATION FILE
------------------
The Git configuration file contains a number of variables that affect
-the git command's behavior. The `.git/config` file in each repository
+the Git commands' behavior. The `.git/config` file in each repository
is used to store the configuration for that repository, and
`$HOME/.gitconfig` is used to store a per-user configuration as
fallback values for the `.git/config` file. The file `/etc/gitconfig`
@@ -999,7 +999,7 @@ fetch.fsckObjects::
is used instead.
fetch.unpackLimit::
- If the number of objects fetched over the git native
+ If the number of objects fetched over the Git native
transfer is below this
limit, then the objects will be unpacked into loose object
files. However if the number of received objects equals or
diff --git a/Documentation/git-remote-helpers.txt b/Documentation/git-remote-helpers.txt
index e18c3b0..e36fdcb 100644
--- a/Documentation/git-remote-helpers.txt
+++ b/Documentation/git-remote-helpers.txt
@@ -39,7 +39,7 @@ INVOCATION
----------
Remote helper programs are invoked with one or (optionally) two
-arguments. The first argument specifies a remote repository as in git;
+arguments. The first argument specifies a remote repository as in Git;
it is either the name of a configured remote or a URL. The second
argument specifies a URL; it is usually of the form
'<transport>://<address>', but any arbitrary string is possible.
diff --git a/Documentation/git-verify-pack.txt b/Documentation/git-verify-pack.txt
index d4ae05b..0eb9ffb 100644
--- a/Documentation/git-verify-pack.txt
+++ b/Documentation/git-verify-pack.txt
@@ -3,7 +3,7 @@ git-verify-pack(1)
NAME
----
-git-verify-pack - Validate packed git archive files
+git-verify-pack - Validate packed Git archive files
SYNOPSIS
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index b9c0eec..b322a26 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -449,7 +449,7 @@ String::
specify one or more options, as described in the following
section. The options for the diff driver "foo" are defined
by the configuration variables in the "diff.foo" section of the
- git config file.
+ Git config file.
Defining an external diff driver
@@ -675,7 +675,7 @@ attribute in the `.gitattributes` file:
*.ps -diff
------------------------
-This will cause git to generate `Binary files differ` (or a binary
+This will cause Git to generate `Binary files differ` (or a binary
patch, if binary patches are enabled) instead of a regular diff.
However, one may also want to specify other diff driver attributes. For
--
1.8.1.1.507.g1754052
^ permalink raw reply related
* Re: [PATCH v3 4/6] Change 'git' to 'Git' whenever the whole system is referred to #3
From: Junio C Hamano @ 2013-01-23 2:49 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: davvid, git
In-Reply-To: <1667947659.632844.1358796098848.JavaMail.ngmail@webmail20.arcor-online.net>
Documentation/gitcore-tutorial.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/gitcore-tutorial.txt b/Documentation/gitcore-tutorial.txt
index 5d957c2..59c1c17 100644
--- a/Documentation/gitcore-tutorial.txt
+++ b/Documentation/gitcore-tutorial.txt
@@ -1068,7 +1068,7 @@ and requires you to have a log-in privilege over `ssh` to the
remote machine. It finds out the set of objects the other side
lacks by exchanging the head commits both ends have and
transfers (close to) minimum set of objects. It is by far the
-most efficient way to exchange git objects between repositories.
+most efficient way to exchange Git objects between repositories.
Local directory::
`/path/to/repo.git/`
@@ -1077,7 +1077,7 @@ This transport is the same as SSH transport but uses 'sh' to run
both ends on the local machine instead of running other end on
the remote machine via 'ssh'.
-git Native::
+Git Native::
`git://remote.machine/path/to/repo.git/`
+
This transport was designed for anonymous downloading. Like SSH
--
1.8.1.1.507.g1754052
^ permalink raw reply related
* Bug in EOL conversion?
From: Stefan Norgren @ 2013-01-23 2:44 UTC (permalink / raw)
To: git
Hi,
The EOL conversion does not behave as indicated by output message from
add and commit. Here is my test case executed on Windows 7 64 bit.
$ git --version
git version 1.8.0.msysgit.0
$ which git
/cygdrive/c/Program Files (x86)/Git/cmd/git
$ git config --list
core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=Stefan
user.email=stefan@---.com
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
core.hidedotfiles=dotGitOnly
-- Note core.autocrlf=true.
-- Created withcrlf.txt with one character and one CRLF line feed.
File size 3 bytes.
-- Created withlf.txt with one character and one LF line feed. File
size 2 bytes.
-- Now let's init repository.
$ git init
Initialized empty Git repository in D:/Dev/workspaces/gittest/.git/
$ ls -la
total 10
d---------+ 1 Stefan None 0 Jan 23 02:12 .
d---------+ 1 Stefan None 0 Jan 23 02:10 ..
d---------+ 1 Stefan None 0 Jan 23 02:13 .git
----------+ 1 Stefan None 3 Jan 23 01:55 withcrlf.txt
----------+ 1 Stefan None 2 Jan 23 01:55 withlf.txt
-- Note no .gitattributes file that will affect EOL conversion.
$ ls -la .git/info/
total 5
d---------+ 1 Stefan None 0 Jan 23 02:12 .
d---------+ 1 Stefan None 0 Jan 23 02:13 ..
----------+ 1 Stefan None 240 Jan 23 02:12 exclude
-- Note no attribute file in .git/info/ that will affect EOL conversion.
$ git add *
warning: LF will be replaced by CRLF in withlf.txt.
The file will have its original line endings in your working directory.
$ git commit -m 'Testing EOL'
[master (root-commit) 9a0b2f5] Testing EOL
2 files changed, 2 insertions(+)
create mode 100644 withcrlf.txt
create mode 100644 withlf.txt
warning: LF will be replaced by CRLF in withlf.txt.
The file will have its original line endings in your working directory.
$ ls -la
total 10
d---------+ 1 Stefan None 0 Jan 23 02:12 .
d---------+ 1 Stefan None 0 Jan 23 02:10 ..
d---------+ 1 Stefan None 0 Jan 23 02:22 .git
----------+ 1 Stefan None 3 Jan 23 01:55 withcrlf.txt
----------+ 1 Stefan None 2 Jan 23 01:55 withlf.txt
-- So no changes (see file size) to files in working directory. This
is expected and according to output warning from add and commit.
-- Now lets look in the repository
$ git ls-tree -l HEAD withcrlf.txt
100644 blob d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 2 withcrlf.txt
$ git ls-tree -l HEAD withlf.txt
100644 blob d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 2 withlf.txt
-- Note that size of withlf.txt is 2 in repository indicating that LF
was not replaced by CRLF in withlf.txt as indicated in output from add
and commit. Also note that size of withcrlf.txt is also 2 in
repository so it looks like CRLF was replaced by LF in withcrlf.txt.
To verify I will delete the files from working directory, turn off EOL
conversion, checkout files and look at file endings in the working
directory.
$ rm with*
$ ls -la
total 8
d---------+ 1 Stefan None 0 Jan 23 02:31 .
d---------+ 1 Stefan None 0 Jan 23 02:10 ..
d---------+ 1 Stefan None 0 Jan 23 02:22 .git
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: withcrlf.txt
# deleted: withlf.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
$ git config --global core.autocrlf false
$ git config --global core.autocrlf
false
$ git checkout -- with*
$ ls -la
total 10
d---------+ 1 Stefan None 0 Jan 23 02:38 .
d---------+ 1 Stefan None 0 Jan 23 02:10 ..
d---------+ 1 Stefan None 0 Jan 23 02:38 .git
----------+ 1 Stefan None 2 Jan 23 02:38 withcrlf.txt
----------+ 1 Stefan None 2 Jan 23 02:38 withlf.txt
-- Both files in working directory files now have LF line endings
confirming that files in repository have LF file endings. Either the
output message of add and commit is wrong or the behavior of the EOL
conversion is wrong... or... have I missed something...?
/Stefan
^ permalink raw reply
* Re: [PATCH v3 0/2] Make git-svn work with gitdir links
From: Junio C Hamano @ 2013-01-23 2:53 UTC (permalink / raw)
To: Eric Wong; +Cc: Barry Wardell, git
In-Reply-To: <20130123023235.GA24135@dcvr.yhbt.net>
Eric Wong <normalperson@yhbt.net> writes:
> `git rev-parse --show-cdup` outputs nothing if GIT_DIR is set,
> so I unset GIT_DIR temporarily.
>
> I'm not sure why --show-cdup behaves like this, though..
Setting GIT_DIR is to say "That is the directory that has the
repository objects and refs; I am letting you know the location
explicitly because it does not have any relation with the location
of the working tree. The $(cwd) is at the root of the working
tree".
If you want to say "That is the directory that has metainformation,
and that other one is the root of the working tree", you use
GIT_WORK_TREE to name the latter.
So by definition, if you only set GIT_DIR without setting
GIT_WORK_TREE, show-cdup must say "you are already at the top".
>
> Does squashing this on top of your changes fix all your failures?
> I plan on squashing both your changes together with the below:
>
> diff --git a/git-svn.perl b/git-svn.perl
> index c232798..e5bd292 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -332,11 +332,13 @@ if ($cmd && $cmd =~ /(?:clone|init|multi-init)$/) {
> $ENV{GIT_DIR} = command_oneline([qw/rev-parse --git-dir/]);
> } "Unable to find .git directory\n";
> my $cdup = undef;
> + my $git_dir = delete $ENV{GIT_DIR};
> git_cmd_try {
> $cdup = command_oneline(qw/rev-parse --show-cdup/);
> chomp $cdup if ($cdup);
> $cdup = "." unless ($cdup && length $cdup);
> - } "Already at toplevel, but $ENV{GIT_DIR} not found\n";
> + } "Already at toplevel, but $git_dir not found\n";
> + $ENV{GIT_DIR} = $git_dir;
> chdir $cdup or die "Unable to chdir up to '$cdup'\n";
> $_repository = Git->repository(Repository => $ENV{GIT_DIR});
> }
^ permalink raw reply
* Re: [PATCH v3 5/6] Change 'git' to 'Git' whenever the whole system is referred to #4
From: Junio C Hamano @ 2013-01-23 3:16 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: davvid, git
In-Reply-To: <1199035912.632874.1358796172804.JavaMail.ngmail@webmail20.arcor-online.net>
Leftover in paths touched by [5/6].
Documentation/gitcvs-migration.txt | 2 +-
Documentation/technical/api-builtin.txt | 2 +-
Documentation/technical/api-credentials.txt | 4 ++--
Documentation/technical/api-remote.txt | 2 +-
Documentation/urls.txt | 2 +-
Documentation/user-manual.txt | 4 ++--
6 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/Documentation/gitcvs-migration.txt b/Documentation/gitcvs-migration.txt
index 2934ac2..5ab5b07 100644
--- a/Documentation/gitcvs-migration.txt
+++ b/Documentation/gitcvs-migration.txt
@@ -3,7 +3,7 @@ gitcvs-migration(7)
NAME
----
-gitcvs-migration - git for CVS users
+gitcvs-migration - Git for CVS users
SYNOPSIS
--------
diff --git a/Documentation/technical/api-builtin.txt b/Documentation/technical/api-builtin.txt
index 2d27ff1..4a4228b 100644
--- a/Documentation/technical/api-builtin.txt
+++ b/Documentation/technical/api-builtin.txt
@@ -5,7 +5,7 @@ Adding a new built-in
---------------------
There are 4 things to do to add a built-in command implementation to
-git:
+Git:
. Define the implementation of the built-in command `foo` with
signature:
diff --git a/Documentation/technical/api-credentials.txt b/Documentation/technical/api-credentials.txt
index f0c39e1..516fda7 100644
--- a/Documentation/technical/api-credentials.txt
+++ b/Documentation/technical/api-credentials.txt
@@ -18,7 +18,7 @@ Typical setup
------------
+-----------------------+
-| git code (C) |--- to server requiring --->
+| Git code (C) |--- to server requiring --->
| | authentication
|.......................|
| C credential API |--- prompt ---> User
@@ -27,7 +27,7 @@ Typical setup
| pipe |
| v
+-----------------------+
-| git credential helper |
+| Git credential helper |
+-----------------------+
------------
diff --git a/Documentation/technical/api-remote.txt b/Documentation/technical/api-remote.txt
index 2819d3a..4be8776 100644
--- a/Documentation/technical/api-remote.txt
+++ b/Documentation/technical/api-remote.txt
@@ -45,7 +45,7 @@ struct remote
`receivepack`, `uploadpack`::
The configured helper programs to run on the remote side, for
- git-native protocols.
+ Git-native protocols.
`http_proxy`::
diff --git a/Documentation/urls.txt b/Documentation/urls.txt
index a2cf68b..539c0a0 100644
--- a/Documentation/urls.txt
+++ b/Documentation/urls.txt
@@ -29,7 +29,7 @@ The ssh and git protocols additionally support ~username expansion:
- git://host.xz{startsb}:port{endsb}/~{startsb}user{endsb}/path/to/repo.git/
- {startsb}user@{endsb}host.xz:/~{startsb}user{endsb}/path/to/repo.git/
-For local repositories, also supported by git natively, the following
+For local repositories, also supported by Git natively, the following
syntaxes may be used:
- /path/to/repo.git/
diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
index dda262a..5077e7c 100644
--- a/Documentation/user-manual.txt
+++ b/Documentation/user-manual.txt
@@ -1439,7 +1439,7 @@ fundamentally different ways to fix the problem:
2. You can go back and modify the old commit. You should
never do this if you have already made the history public;
- git does not normally expect the "history" of a project to
+ Git does not normally expect the "history" of a project to
change, and cannot correctly perform repeated merges from
a branch that has had its history changed.
@@ -3671,7 +3671,7 @@ Unable to checkout '261dfac35cb99d380eb966e102c1197139f7fa24' in submodule path
In older Git versions it could be easily forgotten to commit new or modified
files in a submodule, which silently leads to similar problems as not pushing
-the submodule changes. Starting with git 1.7.0 both "git status" and "git diff"
+the submodule changes. Starting with Git 1.7.0 both "git status" and "git diff"
in the superproject show submodules as modified when they contain new or
modified files to protect against accidentally committing such a state. "git
diff" will also add a "-dirty" to the work tree side when generating patch
--
1.8.1.1.507.g1754052
^ permalink raw reply related
* Re: [PATCH v3 3/6] Change 'git' to 'Git' whenever the whole system is referred to #2
From: David Aguilar @ 2013-01-23 3:44 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: gitster, git
In-Reply-To: <2009548606.632825.1358795980319.JavaMail.ngmail@webmail20.arcor-online.net>
On Mon, Jan 21, 2013 at 11:19 AM, Thomas Ackermann <th.acker@arcor.de> wrote:
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index b87f744..5a831ad2 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> push.default::
> - Defines the action git push should take if no refspec is given
> + Defines the action Git push should take if no refspec is given
> on the command line, no refspec is configured in the remote, and
> no refspec is implied by any of the options given on the command
> line. Possible values are:
This should probably be "git push" in double quotes.
--
David
^ permalink raw reply
* Re: [PATCH v3 3/6] Change 'git' to 'Git' whenever the whole system is referred to #2
From: Junio C Hamano @ 2013-01-23 4:17 UTC (permalink / raw)
To: Thomas Ackermann; +Cc: git, David Aguilar
In-Reply-To: <CAJDDKr4fnUp_35ni72XJS_NSp4jxbvQPENLnk3AhFv2FBg3DTg@mail.gmail.com>
David Aguilar <davvid@gmail.com> writes:
> On Mon, Jan 21, 2013 at 11:19 AM, Thomas Ackermann <th.acker@arcor.de> wrote:
>> diff --git a/Documentation/config.txt b/Documentation/config.txt
>> index b87f744..5a831ad2 100644
>> --- a/Documentation/config.txt
>> +++ b/Documentation/config.txt
>> push.default::
>> - Defines the action git push should take if no refspec is given
>> + Defines the action Git push should take if no refspec is given
>> on the command line, no refspec is configured in the remote, and
>> no refspec is implied by any of the options given on the command
>> line. Possible values are:
>
> This should probably be "git push" in double quotes.
Yeah, or no quotes, or `git push` even.
I've pushed the result of my nitpicks I sent so far as part of the
'pu' branch, on topic 'ta/doc-no-small-caps'. Its tip is now at
bfb8e1e (fixup! Change 'git' to 'Git' whenever the whole system is
referred to #4, 2013-01-22).
Thomas, I do not want to see many rounds of entire rerolls of this
series on the list (nobody will look at the whole series multiple
times with fine toothed comb). I do not think you want to do that
either. Can you collect remaining fixups like David's message, turn
them into patch form when you have collected enough to be reviewed
in one sitting (say, a patchfile at around 200 lines), and send them
over to the list to apply on top of the tree of that commit?
After a week or so, I'll squash the series into two commits (the
first one turns 'GIT' into 'Git', the second one turns selected
'git' into 'Git'), and merge the result to 'next'.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox