summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-03-04submodules: always use a relative path from gitdir to work treeLibravatar Jens Lehmann2-0/+38
Since recently a submodule with name <name> has its git directory in the .git/modules/<name> directory of the superproject while the work tree contains a gitfile pointing there. To make that work the git directory has the core.worktree configuration set in its config file to point back to the work tree. That core.worktree is an absolute path set by the initial clone of the submodule. A relative path is preferable here because it allows the superproject to be moved around without invalidating that setting, so compute and set that relative path after cloning or reactivating the submodule. This also fixes a bug when moving a submodule around inside the superproject, as the current code forgot to update the setting to the new submodule work tree location. Enhance t7400 to ensure that future versions won't re-add absolute paths by accident and that moving a superproject won't break submodules. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-04submodules: always use a relative path to gitdirLibravatar Jens Lehmann2-7/+6
Since recently a submodule with name <name> has its git directory in the .git/modules/<name> directory of the superproject while the work tree contains a gitfile pointing there. When the submodule git directory needs to be cloned because it is not found in .git/modules/<name> the clone command will write an absolute path into the gitfile. When no clone is necessary the git directory will be reactivated by the git-submodule.sh script by writing a relative path into the gitfile. This is inconsistent, as the behavior depends on the submodule having been cloned before into the .git/modules of the superproject. A relative path is preferable here because it allows the superproject to be moved around without invalidating the gitfile. We do that by always writing the relative path into the gitfile, which overwrites the absolute path the clone command may have written there. This is only the first step to make superprojects movable again like they were before the separate-git-dir approach was introduced. The second step is to use a relative path in core.worktree too. Enhance t7400 to ensure that future versions won't re-add absolute paths by accident. While at it also replace an if/else construct evaluating the presence of the 'reference' option with a single line of bash code. Reported-by: Antony Male <antony.male@gmail.com> Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-01-24submodule add: fix breakage when re-adding a deep submoduleLibravatar Jens Lehmann2-0/+9
Since recently a submodule with name <name> has its git directory in the .git/modules/<name> directory of the superproject while the work tree contains a gitfile pointing there. When the same submodule is added on a branch where it wasn't present so far (it is not found in the .gitmodules file), the name is not initialized from the path as it should. This leads to a wrong path entered in the gitfile when the .git/modules/<name> directory is found, as this happily uses the - now empty - name. It then always points only a single directory up, even if we have a path deeper in the directory hierarchy. Fix that by initializing the name of the submodule early in module_clone() if module_name() returned an empty name and add a test to catch that bug. Reported-by: Jehan Bing <jehan@orb.com> Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-26Merge branch 'tc/submodule-clone-name-detection'Libravatar Junio C Hamano1-4/+4
* tc/submodule-clone-name-detection: submodule::module_clone(): silence die() message from module_name() submodule: whitespace fix
2011-10-26Merge branch 'lh/gitweb-site-html-head'Libravatar Junio C Hamano5-0/+17
* lh/gitweb-site-html-head: gitweb: provide a way to customize html headers
2011-10-26Merge branch 'mm/mediawiki-author-fix'Libravatar Junio C Hamano1-0/+4
* mm/mediawiki-author-fix: git-remote-mediawiki: don't include HTTP login/password in author
2011-10-26Merge branch 'jn/libperl-git-config'Libravatar Junio C Hamano3-65/+33
* jn/libperl-git-config: Add simple test for Git::config_path() in t/t9700-perl-git.sh libperl-git: refactor Git::config_*
2011-10-26Merge branch 'jm/maint-gitweb-filter-forks-fix'Libravatar Junio C Hamano1-1/+1
* jm/maint-gitweb-filter-forks-fix: gitweb: fix regression when filtering out forks
2011-10-26Merge branch 'cn/fetch-prune'Libravatar Junio C Hamano5-55/+137
* cn/fetch-prune: fetch: treat --tags like refs/tags/*:refs/tags/* when pruning fetch: honor the user-provided refspecs when pruning refs remote: separate out the remote_find_tracking logic into query_refspecs t5510: add tests for fetch --prune fetch: free all the additional refspecs Conflicts: remote.c
2011-10-23Merge branch 'maint'Libravatar Junio C Hamano1-1/+1
* maint: Reindent closing bracket using tab instead of spaces
2011-10-23Merge branch 'maint-1.7.3' into maintLibravatar Junio C Hamano1-1/+1
* maint-1.7.3: Reindent closing bracket using tab instead of spaces
2011-10-23Reindent closing bracket using tab instead of spacesLibravatar Nguyễn Thái Ngọc Duy1-1/+1
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-23Merge branch 'maint'Libravatar Junio C Hamano2-3/+5
* maint: Git 1.7.7.1 RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting Conflicts: GIT-VERSION-GEN
2011-10-23Git 1.7.7.1Libravatar Junio C Hamano2-2/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-23RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile ↵Libravatar Jonathan Nieder1-2/+3
setting The change was actually about "git init -s" which sets the setgid bit on SysV-style systems to allow shared access to a repository, and can provoke errors on BSD-style systems, depending on how permissive the filesystem in use wants to be. More to the point, the patch was just taking a fix that arrived for FreeBSD in v1.5.5 days and making it also apply to machines using an (obscure) GNU userland/FreeBSD kernel mixture. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-21Update draft release notes to 1.7.8Libravatar Junio C Hamano1-2/+21
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-21Merge branch 'po/insn-editor'Libravatar Junio C Hamano2-1/+20
* po/insn-editor: "rebase -i": support special-purpose editor to edit insn sheet
2011-10-21Merge branch 'jc/broken-ref-dwim-fix'Libravatar Junio C Hamano3-100/+104
* jc/broken-ref-dwim-fix: resolve_ref(): report breakage to the caller without warning resolve_ref(): expose REF_ISBROKEN flag refs.c: move dwim_ref()/dwim_log() from sha1_name.c
2011-10-21Merge branch 'mh/ref-api'Libravatar Junio C Hamano2-28/+39
* mh/ref-api: clear_ref_cache(): inline function write_ref_sha1(): only invalidate the loose ref cache clear_ref_cache(): extract two new functions clear_ref_cache(): rename parameter invalidate_ref_cache(): expose this function in the refs API invalidate_ref_cache(): take the submodule as parameter invalidate_ref_cache(): rename function from invalidate_cached_refs()
2011-10-21Merge branch 'jc/match-refs-clarify'Libravatar Junio C Hamano6-15/+18
* jc/match-refs-clarify: rename "match_refs()" to "match_push_refs()" send-pack: typofix error message
2011-10-21Merge branch 'jc/make-tags'Libravatar Junio C Hamano1-3/+7
* jc/make-tags: Makefile: ask "ls-files" to list source files if available
2011-10-21Merge branch 'ss/inet-ntop'Libravatar Junio C Hamano1-0/+2
* ss/inet-ntop: inet_ntop.c: Work around GCC 4.6's detection of uninitialized variables
2011-10-21Merge branch 'jc/maint-remove-renamed-ref'Libravatar Junio C Hamano1-8/+0
* jc/maint-remove-renamed-ref: branch -m/-M: remove undocumented RENAMED-REF Conflicts: refs.c
2011-10-21Merge branch 'pw/p4-update'Libravatar Junio C Hamano6-423/+919
* pw/p4-update: git-p4: handle files with shell metacharacters git-p4: keyword flattening fixes git-p4: stop ignoring apple filetype git-p4: recognize all p4 filetypes git-p4: handle utf16 filetype properly git-p4 tests: refactor and cleanup
2011-10-21Merge branch 'cn/doc-config-bare-subsection'Libravatar Junio C Hamano1-3/+4
* cn/doc-config-bare-subsection: Documentation: update [section.subsection] to reflect what git does
2011-10-21Merge branch 'jk/maint-pack-objects-compete-with-delete'Libravatar Junio C Hamano3-2/+7
* jk/maint-pack-objects-compete-with-delete: downgrade "packfile cannot be accessed" errors to warnings pack-objects: protect against disappearing packs
2011-10-21Merge branch 'jk/daemon-msgs'Libravatar Junio C Hamano2-8/+31
* jk/daemon-msgs: daemon: give friendlier error messages to clients Conflicts: daemon.c
2011-10-21Merge branch 'sc/difftool-skip'Libravatar Junio C Hamano2-4/+48
* sc/difftool-skip: t7800: avoid arithmetic expansion notation git-difftool: allow skipping file by typing 'n' at prompt
2011-10-21Merge branch 'jc/unseekable-bundle'Libravatar Junio C Hamano3-59/+90
* jc/unseekable-bundle: bundle: add parse_bundle_header() helper function bundle: allowing to read from an unseekable fd Conflicts: transport.c
2011-10-21Merge branch 'ph/transport-with-gitfile'Libravatar Junio C Hamano5-20/+58
* ph/transport-with-gitfile: Fix is_gitfile() for files too small or larger than PATH_MAX to be a gitfile Add test showing git-fetch groks gitfiles Teach transport about the gitfile mechanism Learn to handle gitfiles in enter_repo enter_repo: do not modify input
2011-10-21gitweb: fix regression when filtering out forksLibravatar Julien Muchembled1-1/+1
This fixes a condition in filter_forks_from_projects_list that failed if process directory was different from project root: in such case, the subroutine was a no-op and forks were not detected. Signed-off-by: Julien Muchembled <jm@jmuchemb.eu> Tested-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-21Add simple test for Git::config_path() in t/t9700-perl-git.shLibravatar Jakub Narebski2-1/+9
Tests "~/foo" path expansion and multiple values. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-21Sync with maintLibravatar Junio C Hamano2-24/+20
2011-10-21Almost ready for 1.7.7.1Libravatar Junio C Hamano1-0/+20
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-21Merge branch 'nd/maint-autofix-tag-in-head' into maintLibravatar Junio C Hamano7-65/+93
* nd/maint-autofix-tag-in-head: Accept tags in HEAD or MERGE_HEAD merge: remove global variable head[] merge: use return value of resolve_ref() to determine if HEAD is invalid merge: keep stash[] a local variable Conflicts: builtin/merge.c
2011-10-21Merge branch 'jc/apply-blank-at-eof-fix' into maintLibravatar Junio C Hamano1-2/+9
* jc/apply-blank-at-eof-fix: apply --whitespace=error: correctly report new blank lines at end
2011-10-21Merge branch 'jn/no-g-plus-s-on-bsd' into maintLibravatar Junio C Hamano1-0/+1
* jn/no-g-plus-s-on-bsd: Makefile: do not set setgid bit on directories on GNU/kFreeBSD
2011-10-21Merge branch 'rs/diff-cleanup-records-fix' into maintLibravatar Junio C Hamano3-3/+15
* rs/diff-cleanup-records-fix: diff: resurrect XDF_NEED_MINIMAL with --minimal Revert removal of multi-match discard heuristic in 27af01
2011-10-21Merge branch 'il/archive-err-signal' into maintLibravatar Junio C Hamano1-0/+2
* il/archive-err-signal: Support ERR in remote archive like in fetch/push
2011-10-21Merge branch 'js/maint-merge-one-file-osx-expr' into maintLibravatar Junio C Hamano1-1/+1
* js/maint-merge-one-file-osx-expr: merge-one-file: fix "expr: non-numeric argument"
2011-10-21Merge branch 'jm/maint-apply-detects-corrupt-patch-header' into maintLibravatar Junio C Hamano2-0/+46
* jm/maint-apply-detects-corrupt-patch-header: fix "git apply --index ..." not to deref NULL
2011-10-21Merge branch 'jc/checkout-from-tree-keep-local-changes' into maintLibravatar Junio C Hamano2-1/+47
* jc/checkout-from-tree-keep-local-changes: checkout $tree $path: do not clobber local changes in $path not in $tree
2011-10-21Merge branch 'mm/maint-config-explicit-bool-display' into maintLibravatar Junio C Hamano2-7/+19
* mm/maint-config-explicit-bool-display: config: display key_delim for config --bool --get-regexp
2011-10-21gitweb: provide a way to customize html headersLibravatar Lénaïc Huard5-0/+17
This allows web sites to add some specific html headers to the pages generated by gitweb. The new variable $site_html_head_string can be set to an html snippet that will be inserted at the end of the <head> section of each page generated by gitweb. Signed-off-by: Lénaïc Huard <lenaic@lhuard.fr.eu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-21submodule::module_clone(): silence die() message from module_name()Libravatar Tay Ray Chuan1-1/+1
The die() message that may occur in module_name() is not really relevant to the user when called from module_clone(); the latter handles the "failure" (no submodule mapping) anyway. Analysis of other callsites is left to future work. Acked-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-21submodule: whitespace fixLibravatar Tay Ray Chuan1-3/+3
Replace SPs with TAB. Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-20tests: add missing executable bitsLibravatar Jeff King2-0/+0
Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-20git-remote-mediawiki: don't include HTTP login/password in authorLibravatar Matthieu Moy1-0/+4
On the MediaWiki side, the author information is just the MediaWiki login of the contributor. The import turns it into login@$wiki_name to create the author's email address on the wiki side. But we don't want this to include the HTTP password if it's present in the URL ... Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-19resolve_ref(): report breakage to the caller without warningLibravatar Junio C Hamano1-7/+11
629cd3a (resolve_ref(): emit warnings for improperly-formatted references, 2011-09-15) made resolve_ref() warn against files that are found in the directories the ref dwimmery looks at. The intent may be good, but these messages come from a wrong level of the API hierarchy. Instead record the breakage in "flags" whose purpose is to explain the result of the function to the caller, who is in a much better position to make intelligent decision based on the information. This updates sha1_name.c::dwim_ref() to warn against such a broken candidate only when it does not appear directly below $GIT_DIR to restore the traditional behaviour, as we know many files directly underneath $GIT_DIR/ are not refs. Warning against "git show config --" with "$GIT_DIR/config does not look like a well-formed ref" does not make sense, and we may later tweak the dwimmery not to even consider them as candidates, but that is a longer term topic. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-10-19resolve_ref(): expose REF_ISBROKEN flagLibravatar Junio C Hamano2-9/+9
Instead of keeping this as an internal API, let the callers find out the reason why resolve_ref() returned NULL is not because there was no such file in $GIT_DIR but because a file was corrupt. Signed-off-by: Junio C Hamano <gitster@pobox.com>