threads / discuss / 34282

device files should be handled by git

Subject: device files should be handled by git

## tl;dr

3 messages between Jun 27, 2013 and Jun 27, 2013.

replies: 2people: 3as markdown or json

Perry Wagle· Jun 27, 2013, 03:27 UTC · lore
Hi --
I have a disk image of a small embedded device whose root file system I'd like to check-in to git as a means of distributing its GPL'd software.  In that disk image are device files, which GIT studiously ignores.  If symlinks are handled (contents being the path that the symlink points at), I don't see why device files can't be handled (contents being the type (char or block) and the major and minor device number).  TAR, for example, handles this fine, except that using tar in git sort-of goes against the granularity of the objects being modified (like adding a bunch of extra "sd??" devices), such that you are modifying a whole tar ball instead of the individual (device) files.
Is there a reason not to handle device files other than "its not traditional"?  That's the only reason given in google or the IRC channel.
Thanks!
-- Perry
Fredrik Gustafsson· Jun 27, 2013, 13:08 UTC · re: Perry Wagle · lore

Re: device files should be handled by git

On Wed, Jun 26, 2013 at 08:27:56PM -0700, Perry Wagle wrote:
Show 7 quoted lines
> Hi --
> 
> I have a disk image of a small embedded device whose root file system I'd like to check-in to git as a means of distributing its GPL'd software.  In that disk image are device files, which GIT studiously ignores.  If symlinks are handled (contents being the path that the symlink points at), I don't see why device files can't be handled (contents being the type (char or block) and the major and minor device number).  TAR, for example, handles this fine, except that using tar in git sort-of goes against the granularity of the objects being modified (like adding a bunch of extra "sd??" devices), such that you are modifying a whole tar ball instead of the individual (device) files.
> 
> Is there a reason not to handle device files other than "its not traditional"?  That's the only reason given in google or the IRC channel.
> 
> Thanks!

In linux you can't create device files if your not root. On windows those files won't even exists (afaik).

Wouldn't this be very unportable and hard to use (meaning that you need to handle your git repo as root or give git setuid root)?

-- 
Med vänliga hälsningar
Fredrik Gustafsson

tel: 0733-608274
e-post: iveqy@iveqy.com
Johan Herland· Jun 27, 2013, 13:24 UTC · re: Fredrik Gustafsson · lore

Re: device files should be handled by git

On Thu, Jun 27, 2013 at 3:08 PM, Fredrik Gustafsson <iveqy@iveqy.com> wrote:
Show 8 quoted lines
> On Wed, Jun 26, 2013 at 08:27:56PM -0700, Perry Wagle wrote:
>> Is there a reason not to handle device files other than "its not traditional"?  That's the only reason given in google or the IRC channel.
>
> In linux you can't create device files if your not root. On windows
> those files won't even exists (afaik).
>
> Wouldn't this be very unportable and hard to use (meaning that you need
> to handle your git repo as root or give git setuid root)?

Device files will probably never be supported by Git for the reasons mentioned by Fredrik. If anything, etckeeper (http://joeyh.name/code/etckeeper/) would be a much more appropriate place to support this, although I don't think it currently does. Alternatively, you could follow the suggestions of http://superuser.com/questions/440873/git-unable-add-device-file (and elsewhere), and write a script for generating the device files, rather than storing them as-is.

...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net

← back to recent threads