git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "João Carlos Mendes Luís" <jonny@jonny.eng.br>
To: git@vger.kernel.org
Subject: Unix root dir as a work tree
Date: Sun, 07 Feb 2010 23:31:29 -0200	[thread overview]
Message-ID: <4B6F6971.6000106@jonny.eng.br> (raw)

[-- Attachment #1: Type: text/plain, Size: 1217 bytes --]

Hi,

    Sorry if this is a FAQ, but I could not find any reference.

    I have been using CVS as a version control system for unix 
configuration files for a long time.  I know it has some limitations, 
and I know git also has its.  But I expect to work around all of them 
using etckeeper.

    The problem is that etckeeper was created with /etc only in mind, 
and I want to keep track of important files everywhere, not only below 
/etc (think /opt, /usr/local).  The obvious solution appear to create 
the repository at the system root, and not at /etc, but it did not 
work.  I think, because of a bug.

   Now, I have a patch that appears to work, but since I am a beginner 
to git, I don't know if this is the best way to implement it, if it has 
any side effects, or even if it works for other operating systems 
(probably they don't even have the bug).  Would any git wizard care to 
look at it, check if it is ok, and maybe commit in HEAD or give me any 
advice against my patch?

    Please, don't give me any answers like "don't use your root as a 
repo".  I am a system admin for a long time, and I know what I want and 
what are the risks and benefits involved.

    Thanks in advance,

       Jonny


[-- Attachment #2: git-1.5.5.6-setup-work_dir-root.patch --]
[-- Type: text/x-patch, Size: 465 bytes --]

--- a/setup.c	2010-02-07 22:50:40.000000000 -0200
+++ b/setup.c	2010-02-07 22:51:56.000000000 -0200
@@ -413,7 +413,12 @@
 	inside_git_dir = 0;
 	if (!work_tree_env)
 		inside_work_tree = 1;
-	git_work_tree_cfg = xstrndup(cwd, offset);
+	if ( cwd[0] == '/' && offset == 0 ) {
+		git_work_tree_cfg = xstrndup(cwd, 1);
+	}
+	else {
+		git_work_tree_cfg = xstrndup(cwd, offset);
+	}
 	if (check_repository_format_gently(nongit_ok))
 		return NULL;
 	if (offset == len)

             reply	other threads:[~2010-02-08  1:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-08  1:31 João Carlos Mendes Luís [this message]
2010-02-08  2:03 ` Unix root dir as a work tree Nguyen Thai Ngoc Duy
2010-02-08 12:17   ` João Carlos Mendes Luís
2010-02-08  2:18 ` Nguyen Thai Ngoc Duy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B6F6971.6000106@jonny.eng.br \
    --to=jonny@jonny.eng.br \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).