* [PATCH] checkout-index needs a working tree @ 2007-08-04 22:20 Johannes Schindelin 2007-08-04 22:50 ` Junio C Hamano 2007-08-09 22:35 ` Uwe Kleine-König 0 siblings, 2 replies; 12+ messages in thread From: Johannes Schindelin @ 2007-08-04 22:20 UTC (permalink / raw) To: gitster, git Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- This fixes "git --work-tree=/some/where/else checkout-index". git.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/git.c b/git.c index 25b8274..f8c4545 100644 --- a/git.c +++ b/git.c @@ -315,7 +315,8 @@ static void handle_internal_command(int argc, const char **argv) { "branch", cmd_branch, RUN_SETUP }, { "bundle", cmd_bundle }, { "cat-file", cmd_cat_file, RUN_SETUP }, - { "checkout-index", cmd_checkout_index, RUN_SETUP }, + { "checkout-index", cmd_checkout_index, + RUN_SETUP | NEED_WORK_TREE}, { "check-ref-format", cmd_check_ref_format }, { "check-attr", cmd_check_attr, RUN_SETUP | NEED_WORK_TREE }, { "cherry", cmd_cherry, RUN_SETUP }, -- 1.5.3.rc4.1.g7805 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] checkout-index needs a working tree 2007-08-04 22:20 [PATCH] checkout-index needs a working tree Johannes Schindelin @ 2007-08-04 22:50 ` Junio C Hamano 2007-08-05 1:33 ` Johannes Schindelin 2007-08-09 22:35 ` Uwe Kleine-König 1 sibling, 1 reply; 12+ messages in thread From: Junio C Hamano @ 2007-08-04 22:50 UTC (permalink / raw) To: Johannes Schindelin; +Cc: git Hmmph. I was trying to come up with a better commit log message for this change. Paths given from the command line of checkout-index name files relative to the cwd, whose implication is that it is relative to where you are in relation with the top of the working tree. For doing that, you need to have the work tree to begin with. Does this mean that any command that uses its prefix parameter to cmd_xxx() needs NEED_WORK_TREE? I wonder if it would help us to catch similar breakages if we change git.c::run_command() so that we do not pass prefix (or pass a bogus pointer ((const char *)1)) for commands that do not ask for NEED_WORK_TREE. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] checkout-index needs a working tree 2007-08-04 22:50 ` Junio C Hamano @ 2007-08-05 1:33 ` Johannes Schindelin 0 siblings, 0 replies; 12+ messages in thread From: Johannes Schindelin @ 2007-08-05 1:33 UTC (permalink / raw) To: Junio C Hamano; +Cc: git Hi, On Sat, 4 Aug 2007, Junio C Hamano wrote: > I wonder if it would help us to catch similar breakages if we change > git.c::run_command() so that we do not pass prefix (or pass a bogus > pointer ((const char *)1)) for commands that do not ask for > NEED_WORK_TREE. I tried that, but we have some places where we ask "if (prefix && *prefix)", for example in ls-tree. It does not _require_ a work tree, but it certainly uses it when it is available -- which is fine. Other users are more tricky, such as ls-files and update-index, which need a working tree only in some cases. I'll probably write a patch on Monday (if nobody else is faster) to provide a function "require_work_tree()" in environment.c, which does the obvious (with caching). Then comes the tedious part: identifying all those options that need a working tree... Ciao, Dscho ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] checkout-index needs a working tree 2007-08-04 22:20 [PATCH] checkout-index needs a working tree Johannes Schindelin 2007-08-04 22:50 ` Junio C Hamano @ 2007-08-09 22:35 ` Uwe Kleine-König 2007-08-10 0:31 ` Johannes Schindelin 1 sibling, 1 reply; 12+ messages in thread From: Uwe Kleine-König @ 2007-08-09 22:35 UTC (permalink / raw) To: Johannes Schindelin; +Cc: gitster, git Johannes Schindelin wrote: > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > --- > > This fixes "git --work-tree=/some/where/else checkout-index". > > git.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/git.c b/git.c > index 25b8274..f8c4545 100644 > --- a/git.c > +++ b/git.c > @@ -315,7 +315,8 @@ static void handle_internal_command(int argc, const char **argv) > { "branch", cmd_branch, RUN_SETUP }, > { "bundle", cmd_bundle }, > { "cat-file", cmd_cat_file, RUN_SETUP }, > - { "checkout-index", cmd_checkout_index, RUN_SETUP }, > + { "checkout-index", cmd_checkout_index, > + RUN_SETUP | NEED_WORK_TREE}, > { "check-ref-format", cmd_check_ref_format }, > { "check-attr", cmd_check_attr, RUN_SETUP | NEED_WORK_TREE }, > { "cherry", cmd_cherry, RUN_SETUP }, With this patch I'm not able to do git checkout-index --prefix=/tmp/exportdir -a to export an entire tree as described in git-checkout-index(1) in a bare repo. (Not that I need it, but I claimed on #git that it works, ... ) BTW: I didn't try if reverting this patch helps, but probably it does. Best regards Uwe -- Uwe Kleine-König http://www.google.com/search?q=72+PS+point+in+inch ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] checkout-index needs a working tree 2007-08-09 22:35 ` Uwe Kleine-König @ 2007-08-10 0:31 ` Johannes Schindelin 2007-08-10 0:55 ` Junio C Hamano 0 siblings, 1 reply; 12+ messages in thread From: Johannes Schindelin @ 2007-08-10 0:31 UTC (permalink / raw) To: Uwe Kleine-König; +Cc: gitster, git Hi, On Fri, 10 Aug 2007, Uwe Kleine-K?nig wrote: > Johannes Schindelin wrote: > > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > > --- > > > > This fixes "git --work-tree=/some/where/else checkout-index". > > > > git.c | 3 ++- > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > > diff --git a/git.c b/git.c > > index 25b8274..f8c4545 100644 > > --- a/git.c > > +++ b/git.c > > @@ -315,7 +315,8 @@ static void handle_internal_command(int argc, const char **argv) > > { "branch", cmd_branch, RUN_SETUP }, > > { "bundle", cmd_bundle }, > > { "cat-file", cmd_cat_file, RUN_SETUP }, > > - { "checkout-index", cmd_checkout_index, RUN_SETUP }, > > + { "checkout-index", cmd_checkout_index, > > + RUN_SETUP | NEED_WORK_TREE}, > > { "check-ref-format", cmd_check_ref_format }, > > { "check-attr", cmd_check_attr, RUN_SETUP | NEED_WORK_TREE }, > > { "cherry", cmd_cherry, RUN_SETUP }, > With this patch I'm not able to do > > git checkout-index --prefix=/tmp/exportdir -a > > to export an entire tree as described in git-checkout-index(1) in a bare > repo. That is _completely_ expected. If it is a bare repository, you can _only_ override that check by GIT_WORK_TREE or --work-tree. But I have to wonder: if you want to use git checkout-index, which is a work-tree operation, why did you mark it as bare to begin with? Ciao, Dscho ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] checkout-index needs a working tree 2007-08-10 0:31 ` Johannes Schindelin @ 2007-08-10 0:55 ` Junio C Hamano 2007-08-10 1:11 ` Johannes Schindelin 0 siblings, 1 reply; 12+ messages in thread From: Junio C Hamano @ 2007-08-10 0:55 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Uwe Kleine-König, git Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > That is _completely_ expected. If it is a bare repository, you can _only_ > override that check by GIT_WORK_TREE or --work-tree. > > But I have to wonder: if you want to use git checkout-index, which is a > work-tree operation, why did you mark it as bare to begin with? I do not necessarily think --prefix=untar/it/here/ is a work tree operation. Perhaps we probably are better off if we add something that says specifying GIT_DIR alone means you are at the top of work tree (to resurrect the traditional behaviour), to alleviate fallouts like this and the other cvsserver one? If one does not like that traditional behaviour, the new GIT_WORK_TREE support can be used override it. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] checkout-index needs a working tree 2007-08-10 0:55 ` Junio C Hamano @ 2007-08-10 1:11 ` Johannes Schindelin 2007-08-10 7:57 ` [PATCH] Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset Junio C Hamano 0 siblings, 1 reply; 12+ messages in thread From: Johannes Schindelin @ 2007-08-10 1:11 UTC (permalink / raw) To: Junio C Hamano; +Cc: Uwe Kleine-König, git Hi, On Thu, 9 Aug 2007, Junio C Hamano wrote: > Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > That is _completely_ expected. If it is a bare repository, you can _only_ > > override that check by GIT_WORK_TREE or --work-tree. > > > > But I have to wonder: if you want to use git checkout-index, which is a > > work-tree operation, why did you mark it as bare to begin with? > > I do not necessarily think --prefix=untar/it/here/ is a work > tree operation. > > Perhaps we probably are better off if we add something that says > specifying GIT_DIR alone means you are at the top of work tree > (to resurrect the traditional behaviour), to alleviate fallouts > like this and the other cvsserver one? If one does not like > that traditional behaviour, the new GIT_WORK_TREE support can > be used override it. I think I sent a patch for that, but was negative about it, even if I promised not to question your decision. Ciao, Dscho ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset 2007-08-10 1:11 ` Johannes Schindelin @ 2007-08-10 7:57 ` Junio C Hamano 2007-08-10 11:28 ` Uwe Kleine-König 0 siblings, 1 reply; 12+ messages in thread From: Junio C Hamano @ 2007-08-10 7:57 UTC (permalink / raw) To: Johannes Schindelin; +Cc: Uwe Kleine-König, git From: Johannes Schindelin <Johannes.Schindelin@gmx.de> Date: Sun, 5 Aug 2007 14:12:53 +0100 The old behaviour was to unilaterally default to the cwd is the work tree when GIT_DIR was set, but GIT_WORK_TREE wasn't, no matter if we are inside the GIT_DIR, or if GIT_DIR is actually something like ../../../.git. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> --- Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > I think I sent a patch for that, but was negative about it, even if I > promised not to question your decision. Yes you did. Here is a refresher with an affected test adjusted. We already have a few changes that worked around the semantics change by either setting GIT_WORK_TREE or cd'ing up, but I think they should not need to be reverted. It makes more sense to keep the old semantics -- people who use unusual GIT_DIR setting should know what they are doing, and the new GIT_WORK_TREE feature (and core.worktree) would give them better control. We just should not break existing users that set GIT_DIR and nothing else. Which means I need another rewrite on the Release Notes, and probably yet another rc cycle. setup.c | 52 +++++++++---------------------------------------- t/t1500-rev-parse.sh | 6 +++- 2 files changed, 14 insertions(+), 44 deletions(-) diff --git a/setup.c b/setup.c index b55b82c..06004f1 100644 --- a/setup.c +++ b/setup.c @@ -189,53 +189,21 @@ int is_inside_work_tree(void) } /* - * If no worktree was given, and we are outside of a default work tree, - * now is the time to set it. - * - * In other words, if the user calls git with something like - * - * git --git-dir=/some/where/else/.git bla - * - * default to /some/where/else as working directory; if the specified - * git-dir does not end in "/.git", the cwd is used as working directory. + * set_work_tree() is only ever called if you set GIT_DIR explicitely. + * The old behaviour (which we retain here) is to set the work tree root + * to the cwd, unless overridden by the config, the command line, or + * GIT_WORK_TREE. */ -const char *set_work_tree(const char *dir) +static const char *set_work_tree(const char *dir) { - char dir_buffer[PATH_MAX], *rel = NULL; - static char buffer[PATH_MAX + 1]; - int len, suffix_len = strlen(DEFAULT_GIT_DIR_ENVIRONMENT) + 1; - - /* strip the variable 'dir' of the postfix "/.git" if it has it */ - len = strlen(dir); - if (len > suffix_len && - !strcmp(dir + len - suffix_len, "/" DEFAULT_GIT_DIR_ENVIRONMENT)) { - if ((len - suffix_len) >= sizeof(dir_buffer)) - die("directory name too long"); - memcpy(dir_buffer, dir, len - suffix_len); - dir_buffer[len - suffix_len] = '\0'; - - /* are we inside the default work tree? */ - rel = get_relative_cwd(buffer, sizeof(buffer), dir_buffer); - } + char buffer[PATH_MAX + 1]; - /* if rel is set, the cwd is _not_ the current working tree */ - if (rel && *rel) { - if (!is_absolute_path(dir)) - set_git_dir(make_absolute_path(dir)); - dir = dir_buffer; - if (chdir(dir)) - die("cannot chdir to %s: %s", dir, strerror(errno)); - else - strcat(rel, "/"); - inside_git_dir = 0; - } else { - rel = NULL; - dir = getcwd(buffer, sizeof(buffer)); - } - git_work_tree_cfg = xstrdup(dir); + if (!getcwd(buffer, sizeof(buffer))) + die ("Could not get the current working directory"); + git_work_tree_cfg = xstrdup(buffer); inside_work_tree = 1; - return rel; + return NULL; } /* diff --git a/t/t1500-rev-parse.sh b/t/t1500-rev-parse.sh index bea40cb..e474b3f 100755 --- a/t/t1500-rev-parse.sh +++ b/t/t1500-rev-parse.sh @@ -28,6 +28,8 @@ test_rev_parse() { [ $# -eq 0 ] && return } +# label is-bare is-inside-git is-inside-work prefix + test_rev_parse toplevel false false true '' cd .git || exit 1 @@ -53,13 +55,13 @@ export GIT_DIR=../.git export GIT_CONFIG="$(pwd)"/../.git/config git config core.bare false -test_rev_parse 'GIT_DIR=../.git, core.bare = false' false false true work/ +test_rev_parse 'GIT_DIR=../.git, core.bare = false' false false true '' git config core.bare true test_rev_parse 'GIT_DIR=../.git, core.bare = true' true false false '' git config --unset core.bare -test_rev_parse 'GIT_DIR=../.git, core.bare undefined' false false true work/ +test_rev_parse 'GIT_DIR=../.git, core.bare undefined' false false true '' mv ../.git ../repo.git || exit 1 export GIT_DIR=../repo.git -- 1.5.3.rc4.29.g74276 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset 2007-08-10 7:57 ` [PATCH] Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset Junio C Hamano @ 2007-08-10 11:28 ` Uwe Kleine-König 2007-08-10 19:26 ` Junio C Hamano 0 siblings, 1 reply; 12+ messages in thread From: Uwe Kleine-König @ 2007-08-10 11:28 UTC (permalink / raw) To: Junio C Hamano; +Cc: Johannes Schindelin, git Hello Junio, Junio C Hamano wrote: > From: Johannes Schindelin <Johannes.Schindelin@gmx.de> > Date: Sun, 5 Aug 2007 14:12:53 +0100 > > The old behaviour was to unilaterally default to the cwd is the work tree > when GIT_DIR was set, but GIT_WORK_TREE wasn't, no matter if we are inside > the GIT_DIR, or if GIT_DIR is actually something like ../../../.git. > > Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> > Signed-off-by: Junio C Hamano <gitster@pobox.com> > --- > > Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > I think I sent a patch for that, but was negative about it, even if I > > promised not to question your decision. > > Yes you did. Here is a refresher with an affected test > adjusted. > > We already have a few changes that worked around the semantics > change by either setting GIT_WORK_TREE or cd'ing up, but I > think they should not need to be reverted. > > It makes more sense to keep the old semantics -- people who use > unusual GIT_DIR setting should know what they are doing, and > the new GIT_WORK_TREE feature (and core.worktree) would give > them better control. We just should not break existing users > that set GIT_DIR and nothing else. Which means I need another > rewrite on the Release Notes, and probably yet another rc > cycle. I don't know if you planed to make git checkout-index --prefix=/tmp/tra -a work (again) in a bare repo. Probably not, so it's no surprise that it still doesn't work. Best regards Uwe -- Uwe Kleine-König cat /*dev/null; echo 'Hello World!'; cat > /dev/null <<*/ () { } int main() { printf("Hello World!\n");} /* */ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset 2007-08-10 11:28 ` Uwe Kleine-König @ 2007-08-10 19:26 ` Junio C Hamano 2007-08-11 5:17 ` Junio C Hamano 0 siblings, 1 reply; 12+ messages in thread From: Junio C Hamano @ 2007-08-10 19:26 UTC (permalink / raw) To: Uwe Kleine-König; +Cc: Johannes Schindelin, git Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de> writes: > I don't know if you planed to make > > git checkout-index --prefix=/tmp/tra -a > > work (again) in a bare repo. Probably not, so it's no surprise that it > still doesn't work. I think it is now safe to revert that NEED_WORK_TREE change in git.c for checkout-index. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset 2007-08-10 19:26 ` Junio C Hamano @ 2007-08-11 5:17 ` Junio C Hamano 2007-08-11 18:15 ` [PATCH] checkout-index doc: use --work-dir in the export example Uwe Kleine-König 0 siblings, 1 reply; 12+ messages in thread From: Junio C Hamano @ 2007-08-11 5:17 UTC (permalink / raw) To: Uwe Kleine-König; +Cc: Johannes Schindelin, git Subject: [PATCH] Revert 4465f410 and add tests checkout-index --prefix=<path> does not need a working tree, even when run from inside a bare repository. Signed-off-by: Junio C Hamano <gitster@pobox.com> --- Junio C Hamano <gitster@pobox.com> writes: > Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de> writes: > >> I don't know if you planed to make >> >> git checkout-index --prefix=/tmp/tra -a >> >> work (again) in a bare repo. Probably not, so it's no surprise that it >> still doesn't work. > > I think it is now safe to revert that NEED_WORK_TREE change > in git.c for checkout-index. How does this look? I think the second test (no GIT_DIR, just being in a bare repository and specifying --prefix to redirect the output elsewhere) never worked even before the current work-tree feature was started (none of v1.4.4.4, v1.5.0, nor v1.5.2 worked that way), so this is not even "work again", but more like "now works". Later tests with exported GIT_DIR would work with or without reverting the NEED_WORK_TREE change in git.c, so in that sense reverting is probably not such a good idea to begin with. I dunno. git.c | 3 +- t/t2008-checkout-index-prefix.sh | 78 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 2 deletions(-) create mode 100755 t/t2008-checkout-index-prefix.sh diff --git a/git.c b/git.c index f8c4545..bafbb4b 100644 --- a/git.c +++ b/git.c @@ -315,8 +315,7 @@ static void handle_internal_command(int argc, const char **argv) { "branch", cmd_branch, RUN_SETUP }, { "bundle", cmd_bundle }, { "cat-file", cmd_cat_file, RUN_SETUP }, - { "checkout-index", cmd_checkout_index, - RUN_SETUP | NEED_WORK_TREE}, + { "checkout-index", cmd_checkout_index, RUN_SETUP}, { "check-ref-format", cmd_check_ref_format }, { "check-attr", cmd_check_attr, RUN_SETUP | NEED_WORK_TREE }, { "cherry", cmd_cherry, RUN_SETUP }, diff --git a/t/t2008-checkout-index-prefix.sh b/t/t2008-checkout-index-prefix.sh new file mode 100755 index 0000000..7727f07 --- /dev/null +++ b/t/t2008-checkout-index-prefix.sh @@ -0,0 +1,78 @@ +#!/bin/sh + +test_description='checkout-index --prefix=foo/' + +. ./test-lib.sh + +test_expect_success setup ' + + mkdir filfre && + >frotz && + >filfre/nitfol && + git update-index --add frotz filfre/nitfol + +' + +rm -fr f* + +mv .git repo.git || exit ;# very bad +GIT_DIR="$(pwd)/repo.git" +GIT_CONFIG="$GIT_DIR/config" git config core.bare true + +test_expect_success 'checkout with --prefix' ' + + ( + cd repo.git && + git checkout-index --prefix=../f- -a + ) && + test -f f-frotz && + test -d f-filfre && + test -f f-filfre/nitfol + +' + +export GIT_DIR + +rm -fr f* + +test_expect_success 'checkout with --prefix and GIT_DIR (0)' ' + + ( + cd repo.git && + git checkout-index --prefix=../f/ -a + ) && + test -d f && + test -f f/frotz && + test -d f/filfre && + test -f f/filfre/nitfol + +' + +rm -fr f* + +test_expect_success 'checkout with --prefix and GIT_DIR (1)' ' + + git checkout-index --prefix=f/ -a && + test -d f && + test -f f/frotz && + test -d f/filfre && + test -f f/filfre/nitfol + +' + +rm -fr f* + +test_expect_success 'checkout with --prefix and GIT_DIR (2)' ' + + mkdir f && + ( + cd f && git checkout-index --prefix=../f1/ -a + ) && + test -d f1 && + test -f f1/frotz && + test -d f1/filfre && + test -f f1/filfre/nitfol + +' + +test_done ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH] checkout-index doc: use --work-dir in the export example 2007-08-11 5:17 ` Junio C Hamano @ 2007-08-11 18:15 ` Uwe Kleine-König 0 siblings, 0 replies; 12+ messages in thread From: Uwe Kleine-König @ 2007-08-11 18:15 UTC (permalink / raw) To: Junio C Hamano; +Cc: Johannes Schindelin, git, Uwe Kleine-König The old example used --prefix=.../ to teach the reader that the trailing slash is important. This lesson just moved down to the next example, without a real example though. Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de> --- Hello Junio, even if you revert 4465f410 (and add the tests) I'd prefer using --work-tree. Best regards Uwe Documentation/git-checkout-index.txt | 15 ++++++--------- 1 files changed, 6 insertions(+), 9 deletions(-) diff --git a/Documentation/git-checkout-index.txt b/Documentation/git-checkout-index.txt index b1a8ce1..7c19351 100644 --- a/Documentation/git-checkout-index.txt +++ b/Documentation/git-checkout-index.txt @@ -143,21 +143,16 @@ $ git-checkout-index -n -f -a && git-update-index --ignore-missing --refresh ---------------- Using `git-checkout-index` to "export an entire tree":: - The prefix ability basically makes it trivial to use - `git-checkout-index` as an "export as tree" function. - Just read the desired tree into the index, and do: + Just read the desired tree into the index, make sure + git-export-dir exists, and do: + ---------------- -$ git-checkout-index --prefix=git-export-dir/ -a +$ git --work-dir=git-export-dir checkout-index -a ---------------- + `git-checkout-index` will "export" the index into the specified directory. + -The final "/" is important. The exported name is literally just -prefixed with the specified string. Contrast this with the -following example. - Export files with a prefix:: + ---------------- @@ -165,7 +160,9 @@ $ git-checkout-index --prefix=.merged- Makefile ---------------- + This will check out the currently cached copy of `Makefile` -into the file `.merged-Makefile`. +into the file `.merged-Makefile`. The argument of --prefix is +literally just prefixed with the specified string, so if you want to +export to a directory you must end the prefix with a slash. Author -- 1.5.3.rc4.857.ge22ff ^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2007-08-11 18:15 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-08-04 22:20 [PATCH] checkout-index needs a working tree Johannes Schindelin 2007-08-04 22:50 ` Junio C Hamano 2007-08-05 1:33 ` Johannes Schindelin 2007-08-09 22:35 ` Uwe Kleine-König 2007-08-10 0:31 ` Johannes Schindelin 2007-08-10 0:55 ` Junio C Hamano 2007-08-10 1:11 ` Johannes Schindelin 2007-08-10 7:57 ` [PATCH] Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset Junio C Hamano 2007-08-10 11:28 ` Uwe Kleine-König 2007-08-10 19:26 ` Junio C Hamano 2007-08-11 5:17 ` Junio C Hamano 2007-08-11 18:15 ` [PATCH] checkout-index doc: use --work-dir in the export example Uwe Kleine-König
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).