threads / discuss / 18800

What's in git.git (Apr 2009, #01; Thu, 09)

Subject: What's in git.git (Apr 2009, #01; Thu, 09)

## tl;dr

2 messages between Apr 9, 2009 and Apr 14, 2009.

replies: 1people: 2as markdown or json

Junio C Hamano· Apr 9, 2009, 09:11 UTC · lore

We have quite a few documentation fixes accumulated on the maint branch; perhaps a new maintenance release 1.6.2.3 mid next week.

On the 'master' front, there are currently 6 topics cooking in 'next', all of which look quite good. I'll probably tag 1.6.3-rc0 this weekend with most of these topics and keep cooking the rest for 1.6.4 cycle.

* The 'maint' branch has these fixes since the last announcement.
Björn Steinbrink (1):
  process_{tree,blob}: Remove useless xstrdup calls
Brandon Casey (7):
  t7700-repack: add two new tests demonstrating repacking flaws
  git-repack.sh: don't use --kept-pack-only option to pack-objects
  pack-objects: only repack or loosen objects residing in "local" packs
  Remove --kept-pack-only option and associated infrastructure
  git-branch: display "was sha1" on branch deletion rather than just "sha1"
  t7700: demonstrate repack flaw which may loosen objects unnecessarily
  pack-objects: don't loosen objects available in alternate or kept packs
Dan McGee (1):
  git-repack: use non-dashed update-server-info
David J. Mellor (12):
  Documentation: minor grammatical fixes in git-archive.txt.
  Documentation: reword the "Description" section of git-bisect.txt.
  Documentation: minor grammatical fixes in git-blame.txt.
  Documentation: minor grammatical fixes in git-branch.txt.
  Documentation: reworded the "Description" section of git-bisect.txt.
  Documentation: reword example text in git-bisect.txt.
  Documentation: remove some uses of the passive voice in git-bisect.txt
  Documentation: minor grammatical fixes and rewording in git-bundle.txt
  Documentation: minor grammatical fixes in git-cat-file.txt
  Documentation: minor grammatical fixes in git-check-attr.txt
  Documentation: minor grammatical fix in git-check-ref-format.txt
  Documentation: Remove spurious uses of "you" in git-bisect.txt.
Holger Weiß (1):
  Documentation: Remove an odd "instead"
Jari Aalto (1):
  Change double quotes to single quotes in message
Jason Merrill (1):
  Documentation: clarify .gitattributes search
Jeff King (3):
  fix portability problem with IS_RUN_COMMAND_ERR
  t1301: loosen test for forced modes
  commit: abort commit if interactive add failed
Johan Herland (1):
  Move chmod(foo, 0444) into move_temp_to_file()
Johannes Schindelin (2):
  Smudge the files fed to external diff and textconv
  mailmap: resurrect lower-casing of email addresses
Johannes Sixt (1):
  Propagate --exec-path setting to external commands via GIT_EXEC_PATH
Julien Danjou (1):
  git submodule: fix usage line
Junio C Hamano (13):
  git-repack: resist stray environment variable
  has_sha1_pack(): refactor "pretend these packs do not exist" interface
  has_sha1_kept_pack(): take "struct rev_info"
  Consolidate ignore_packed logic more
  Simplify is_kept_pack()
  is_kept_pack(): final clean-up
  blame: read custom grafts given by -S before calling setup_revisions()
  diff --cached: do not borrow from a work tree when a path is marked as
    assume-unchanged
  "core.sharedrepository = 0mode" should set, not loosen
  move_temp_to_file(): do not forget to chmod() in "Coda hack" codepath
  set_shared_perm(): sometimes we know what the final mode bits should look
    like
  GIT 1.6.2.2
  Start 1.6.2.3 preparation
Markus Heidelberg (1):
  doc/git-pack-refs: fix two grammar issues
Matthieu Moy (3):
  git-checkout.txt: fix incorrect statement about HEAD and index
  git-checkout.txt: clarify that <branch> applies when no path is given.
  git-pull.sh: better warning message for "git pull" on detached head.
Thomas Rast (1):
  Documentation: format-patch --root clarifications
* The 'master' branch has these since the last announcement
  in addition to the above.
Ali Gholami Rudi (2):
  builtin-clone.c: make junk_pid static
  builtin-clone.c: no need to strdup for setenv
Björn Steinbrink (2):
  Mailmap: Allow empty email addresses to be mapped
  tree_entry_interesting: a pathspec only matches at directory boundary
Chris Johnsen (11):
  Documentation/Makefile: make most operations "quiet"
  Documentation/Makefile: break up texi pipeline
  Documentation: move callouts.xsl to manpage-{base,normal}.xsl
  Documentation: use parametrized manpage-base.xsl with
    manpage-{1.72,normal}.xsl
  Documentation: rename docbook-xsl-172 attribute to git-asciidoc-no-roff
  Documentation: move quieting params into manpage-base.xsl
  Documentation: move "spurious .sp" code into manpage-base.xsl
  Documentation: asciidoc.conf: always use <literallayout> for [blocktext]
  Documentation: asciidoc.conf: fix verse block with block titles
  Documentation: option to render literal text as bold for manpages
  Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set
Christian Couder (2):
  log-tree: fix patch filename computation in "git format-patch"
  bisect: improve error message when branch checkout fails
Clemens Buchacher (3):
  add tests for merging with submodules
  update cache for conflicting submodule entries
  simplify output of conflicting merge
Erik Faye-Lund (4):
  test-suite: adding a test for fast-export with tag variants
  builtin-fast-export.c: turn error into warning
  builtin-fast-export.c: fix crash on tagged trees
  builtin-fast-export.c: handle nested tags
Felipe Contreras (3):
  user-manual: remove some git-foo usage
  docbook: change css style
  user-manual: the name of the hash function is SHA-1, not sha1
Heiko Voigt (2):
  Cleanup warning about known issues in cvsimport documentation
  Add configuration variable for sign-off to format-patch
Jay Soffian (5):
  send-email: don't attempt to prompt if tty is closed
  send-email: ask_default should apply to all emails, not just the first
  send-email: correct two tests which were going interactive
  send-email: ensure quoted addresses are rfc2047 encoded
  send-email: fix nasty bug in ask() function
Jeff King (1):
  tests: remove exit after test_done call
Johannes Schindelin (1):
  Fix 'git checkout <submodule>' to update the index
Junio C Hamano (10):
  Rename interpret/substitute nth_last_branch functions
  strbuf_branchname(): a wrapper for branch name shorthands
  check-ref-format --branch: give Porcelain a way to grok branch shorthand
  Fix branch -m @{-1} newname
  strbuf_check_branch_ref(): a helper to check a refname for a branch
  check_ref_format(): tighten refname rules
  match_tree_entry(): a pathspec only matches at directory boundaries
  Update draft release notes to 1.6.3
  Update draft release notes to 1.6.3
  Speed up reflog pruning of unreachable commits
Kjetil Barvik (1):
  stat_tracking_info(): only count real commits
Linus Torvalds (1):
  Clean up reflog unreachability pruning decision
Markus Heidelberg (1):
  add --html-path to get the location of installed HTML docs
Martin Storsjö (1):
  Allow curl to rewind the read buffers
Matthieu Moy (2):
  git-send-email.txt: clarify which options take an argument.
  git-rev-list.txt: make ascii markup uniform with other pages.
Michael Hendricks (1):
  format-patch: add arbitrary email headers
Michael J Gruber (2):
  Test for local branches being followed with --track
  Make local branches behave like remote branches when --tracked
Santi Béjar (1):
  Documentation: branch.*.merge can also affect 'git-push'
Shawn O. Pearce (1):
  Don't permit ref/branch names to end with ".lock"
Simon Arlott (1):
  git-svn: add a double quiet option to hide git commits
Stephen Boyd (7):
  pretty.c: add %f format specifier to format_commit_message()
  format-patch: construct patch filename in one function
  format-patch: pass a commit to reopen_stdout()
  format-patch: move get_patch_filename() into log-tree
  format-patch: --attach/inline uses filename instead of SHA1
  format-patch: --numbered-files and --stdout aren't mutually exclusive
  format_sanitized_subject: Don't trim past initial length of strbuf
Todd Zullinger (1):
  bash completion: Update 'git am' options
Wesley J. Landaker (1):
  Documentation: git-svn: fix trunk/fetch svn-remote key typo
Johan Herland· Apr 14, 2009, 13:15 UTC · re: Junio C Hamano · lore

[PATCH] Update docs on behaviour of 'core.sharedRepository' and 'git init --shared'

This documentation update is needed to reflect the recent changes where "core.sharedRepository = 0mode" was changed to set, not loosen, the repository permissions.

Signed-off-by: Johan Herland <johan@herland.net>
---
On Thursday 09 April 2009, Junio C Hamano wrote:
> Junio C Hamano (13):
>   "core.sharedrepository = 0mode" should set, not loosen

It just hit me that after fixing the main problem, we never clarified the docs (that were fairly confusing to begin with). I hope this version is both correct and understandable.

Have fun! :)
...Johan
 Documentation/config.txt   |    6 ++++--
 Documentation/git-init.txt |   16 +++++++++++-----
 2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index f3ebd2f..59217d2 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -295,8 +295,10 @@ core.sharedRepository::
 	group-shareable. When 'umask' (or 'false'), git will use permissions
 	reported by umask(2). When '0xxx', where '0xxx' is an octal number,
 	files in the repository will have this mode value. '0xxx' will override
-	user's umask value, and thus, users with a safe umask (0077) can use
-	this option. Examples: '0660' is equivalent to 'group'. '0640' is a
+	user's umask value (whereas the other options will only override
+	requested parts of the user's umask value). Examples: '0660' will make
+	the repo read/write-able for the owner and group, but inaccessible to
+	others (equivalent to 'group' unless umask is e.g. '0022'). '0640' is a
 	repository that is group-readable but not group-writable.
 	See linkgit:git-init[1]. False by default.
 
diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt
index 71749c0..7151d12 100644
--- a/Documentation/git-init.txt
+++ b/Documentation/git-init.txt
@@ -54,15 +54,21 @@ is given:
 
  - 'group' (or 'true'): Make the repository group-writable, (and g+sx, since
    the git group may be not the primary group of all users).
+   This is used to loosen the permissions of an otherwise safe umask(2) value.
+   Note that the umask still applies to the other permission bits (e.g. if
+   umask is '0022', using 'group' will not remove read privileges from other
+   (non-group) users). See '0xxx' for how to exactly specify the repository
+   permissions.
 
  - 'all' (or 'world' or 'everybody'): Same as 'group', but make the repository
    readable by all users.
 
- - '0xxx': '0xxx' is an octal number and each file will have mode '0xxx'
-   Any option except 'umask' can be set using this option. '0xxx' will
-   override users umask(2) value, and thus, users with a safe umask (0077)
-   can use this option. '0640' will create a repository which is group-readable
-   but not writable. '0660' is equivalent to 'group'.
+ - '0xxx': '0xxx' is an octal number and each file will have mode '0xxx'.
+   '0xxx' will override users' umask(2) value (and not only loosen permissions
+   as 'group' and 'all' does). '0640' will create a repository which is
+   group-readable, but not group-writable or accessible to others. '0660' will
+   create a repo that is readable and writable to the current user and group,
+   but inaccessible to others.
 
 By default, the configuration flag receive.denyNonFastForwards is enabled
 in shared repositories, so that you cannot force a non fast-forwarding push
-- 
1.6.1.2.461.g5bad6

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

← back to recent threads