dulwich-users team mailing list archive
-
dulwich-users team
-
Mailing list archive
-
Message #00755
client.clone, repo.checkout and config core.filemode false
Hi,
1. There is no `client.clone(remote, local)` definition to clone a remote repository to a local disk, other than what's in bin/dulwich.py. (is there something already that does this somewhere else?) There is a repo.clone() def so I thought it might make sense to create a high level function that encapsulates what is in `cmd_clone()` in bin/dulwich.py already and also has the checkout function, `index.build_index_from_tree()` just like `repo.clone()` does. I can submit a patch if you think this is worthy.
2. I don't think `index.build_index_from_tree()` respect's the core.filemode config, which if set to false should not try to change file permissions.
3. I am trying to clone and work on repositories on a fuse filesystem with the following settings:
`rw, nosuid, nodev, relatime, user_id=XXXX, group_id=XXXX, default_permissions, allow_other 0 0`
and when I try to use `index.build_index_from_tree()` I get an exception and system says "Operation not permitted". I get this same error if I try to use chmod from a command line even if I do use su.
4. There is no `repo.checkout()` definition, although one could use index.build_index_from_tree as you suggest in issue #68 and as Charlies B's did in this SO answer [1]. I think it would be nice to have a `repo.checkout()` that does this since there is already the clone high level function. Or perhaps if you want to maintain dulwich as low-level, there could be a high level addon?
Thanks!
Mark
[1] http://stackoverflow.com/a/12465185/1020470
Thanks,
Mark Mikofski
poquitopicante.blogspot.com
breakingbytes.blogspot.com
www.breaking-bytes.com
Follow ups