Re: [git-users] multi workspace solution

2013-10-07 Thread Konstantin Khomoutov
On Sun, 6 Oct 2013 22:24:09 -0700 (PDT)
pof Andras porje...@gmail.com wrote:

 Oh, yes, I know it is a simple script.
 if it was really usable there should be some information about its 
 possibilities and practices and experiences. A script alone without
 any additional info looks like an abandoned tool for me.

I suspect this is because Git developers share a mindset different from
that of Mercurial developers, and having only a single work tree
attached to a non-bare repository is with what Git has been envisioned
and implemented, IOW most people just do not care about your
problem, and that explains why most tutorial/promotional material does
not go in details about how to use Git in non-standard ways.

Multiple parallel work trees undoubtedly do have valid use cases
but this is not a blessed way to work.

In any case, if you feel like bringing this issue up with the
developers then coinsider just doing this -- our mailing list is for
helping mere mortals use Git; its developers do not read it.
The main Git list is here [1], and be sure to read [2] before posting.
And be prepared to listen to constructive criticisms.

1. http://vger.kernel.org/vger-lists.html#git
2. https://gist.github.com/tfnico/4441562

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [git-users] multi workspace solution

2013-10-04 Thread pof Andras
Thanks, it looks promising (although it is quite old)
Does anyone know about its restrictions, or does anyone have experiences 
with it?

Thanks
Andras

On Thursday, October 3, 2013 11:48:39 AM UTC+2, Konstantin Khomoutov wrote:

 On Thu, 3 Oct 2013 01:28:03 -0700 (PDT) 
 pof Andras porj...@gmail.com javascript: wrote: 

  I would like to implement a multi-workspace version of git. 
  The main goal is to have several independent workspaces using only 
  one and single repository (without their own cloned repos). All these 
  things will run on one host, or probably will be located on nfs and 
  will be available on more hosts. Yes, I know there should be some 
  restrictions, for example push and pull will work on the repo 
  (probably there can be something like my-push). Branches will be 
  somehow tied to the workspaces, also all workspaces will have its own 
  HEAD. 
  
  I would like to discuss here how can it be implemented, what will (or 
  will not) work. 

 That was implemented long time ago in the form of the git-new-workdir 
 script available in the contrib Git subdirectory [1]. 
 The basic idea this Unix shell script implements is to create a separate 
 directory with .git subdirectory in it which links to the real one 
 *but* leaving intact things like HEAD which are purely local. 
 This allows to have any number of separate checkouts of different 
 branches, all referring to a single repository. 

 Note that this script won't work on Windows as it makes use of symlinks 
 which doesn't play together well with Windows. 

 1. https://github.com/git/git/blob/master/contrib/workdir/git-new-workdir 


-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [git-users] multi workspace solution

2013-10-04 Thread Konstantin Khomoutov
On Fri, 4 Oct 2013 01:24:32 -0700 (PDT)
pof Andras porje...@gmail.com wrote:

[...]
   I would like to implement a multi-workspace version of git. 
[...]
  That was implemented long time ago in the form of the
  git-new-workdir script available in the contrib Git subdirectory
  [1]. The basic idea this Unix shell script implements is to create
  a separate directory with .git subdirectory in it which links to
  the real one *but* leaving intact things like HEAD which are
  purely local. This allows to have any number of separate checkouts
  of different branches, all referring to a single repository. 
 
  Note that this script won't work on Windows as it makes use of
  symlinks which doesn't play together well with Windows. 
 
  1.
  https://github.com/git/git/blob/master/contrib/workdir/git-new-workdir 
 
 Thanks, it looks promising (although it is quite old)

What do you mean by old?  It's a simple script which just creates a
couple of directories and a number of symlinks; the format of Git
database and metadata directory did not change for ages so why change
this script if it works?  Note that the script does not do any magic,
and you can do what it does using nothing more than Git plumbing tools
and Unix core utilities.

 Does anyone know about its restrictions,

Windows, as explained above.  But support for symlinks did not exist
even in Git for Windows proper due to the same reasons, so I don't
think much can be done for this short of writing a specialized (C)
Windows program which would mimic the behaviour of this script and would
require elevation of privileges in the manifest file built into the
resulting executable.

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[git-users] multi workspace solution

2013-10-03 Thread pof Andras
Hi all,
I would like to implement a multi-workspace version of git. 
The main goal is to have several independent workspaces using only one and 
single repository (without their own cloned repos). All these things will 
run on one host, or probably will be located on nfs and will be available 
on more hosts. Yes, I know there should be some restrictions, for example 
push and pull will work on the repo (probably there can be something like 
my-push). Branches will be somehow tied to the workspaces, also all 
workspaces will have its own HEAD. 

I would like to discuss here how can it be implemented, what will (or will 
not) work.

Thanks for all the tips and hints.

Andras

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [git-users] multi workspace solution

2013-10-03 Thread Konstantin Khomoutov
On Thu, 3 Oct 2013 01:28:03 -0700 (PDT)
pof Andras porje...@gmail.com wrote:

 I would like to implement a multi-workspace version of git. 
 The main goal is to have several independent workspaces using only
 one and single repository (without their own cloned repos). All these
 things will run on one host, or probably will be located on nfs and
 will be available on more hosts. Yes, I know there should be some
 restrictions, for example push and pull will work on the repo
 (probably there can be something like my-push). Branches will be
 somehow tied to the workspaces, also all workspaces will have its own
 HEAD. 
 
 I would like to discuss here how can it be implemented, what will (or
 will not) work.

That was implemented long time ago in the form of the git-new-workdir
script available in the contrib Git subdirectory [1].
The basic idea this Unix shell script implements is to create a separate
directory with .git subdirectory in it which links to the real one
*but* leaving intact things like HEAD which are purely local.
This allows to have any number of separate checkouts of different
branches, all referring to a single repository.

Note that this script won't work on Windows as it makes use of symlinks
which doesn't play together well with Windows.

1. https://github.com/git/git/blob/master/contrib/workdir/git-new-workdir

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.