git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Git-Mediawiki : cloning a set of pages

From
Jeff King <peff@peff.net>
Date
Jun 9, 2011, 15:50 UTC
Message-ID
<20110609155001.GA14969@sigill.intra.peff.net>
In-Reply-To
<20110608151940.GD7805@sigill.intra.peff.net>
On Wed, Jun 08, 2011 at 11:19:40AM -0400, Jeff King wrote:
Show 16 quoted lines
> Maybe it would be even simpler and more flexible to give clone a "-c"
> flag that writes specific config variables in the newly-created
> repository. Like:
> 
>   git clone -c mediawiki.page=page1 \
>             -c mediawiki.page=page2 \
>             http://...
> 
> Then the remote helper can just consult the git config. As a bonus, it
> also lets you do things like:
> 
>   git clone -c core.ignorecase=true git://...
> 
> which is currently awkward (you either have to have set such variable in
> your ~/.gitconfig, or you must use init+config+fetch to do a clone
> manually.

This turned out to be a very tiny amount of code, but I found a ton of other bugs while working on it. :)

So the patch series is long, but the important bits are at the end. I factored the code from the existing "git -c", so most of the bugfixes are there.

  [01/10]: strbuf_split: add a max parameter
  [02/10]: fix "git -c" parsing of values with equals signs
These two are the first bugfix.
  [03/10]: config: die on error in command-line config
Another bugfix.
  [04/10]: config: avoid segfault when parsing command-line config
Another bugfix.
  [05/10]: strbuf: allow strbuf_split to work on non-strbufs
  [06/10]: config: use strbuf_split_str instead of a temporary strbuf
Plugging a memory leak.
  [07/10]: parse-options: add OPT_STRING_LIST helper
  [08/10]: remote: use new OPT_STRING_LIST
  [09/10]: config: make git_config_parse_parameter a public function
These are refactoring for 10/10.
  [10/10]: clone: accept config options on the command line
And this is the actual patch.
-Peff
Previous: Jeff KingNext: Jeff King
Message 5 of 25 in “Git-Mediawiki : cloning a set of pages”
  1. Claire FousseJun 8, 2011
  2. Jeff KingJun 8, 2011
  3. Sverre RabbelierJun 8, 2011
  4. Jeff KingJun 8, 2011
  5. Jeff KingJun 9, 2011
  6. 01/10 strbuf_split: add a max parameterJeff King, Jun 9, 2011
  7. Junio C HamanoJun 13, 2011
  8. Jeff KingJun 13, 2011
  9. 02/10 fix "git -c" parsing of values with equals signsJeff King, Jun 9, 2011
  10. 03/10 config: die on error in command-line configJeff King, Jun 9, 2011
  11. 04/10 config: avoid segfault when parsing command-line configJeff King, Jun 9, 2011
  12. Junio C HamanoJun 13, 2011
  13. Jeff KingJun 13, 2011
  14. 05/10 strbuf: allow strbuf_split to work on non-strbufsJeff King, Jun 9, 2011
  15. 06/10 config: use strbuf_split_str instead of a temporary strbufJeff King, Jun 9, 2011
  16. 07/10 parse-options: add OPT_STRING_LIST helperJeff King, Jun 9, 2011
  17. 08/10 remote: use new OPT_STRING_LISTJeff King, Jun 9, 2011
  18. 09/10 config: make git_config_parse_parameter a public functionJeff King, Jun 9, 2011
  19. 10/10 clone: accept config options on the command lineJeff King, Jun 9, 2011
  20. Bert WesargJun 9, 2011
  21. Jeff KingJun 9, 2011
  22. Jeff KingJun 9, 2011
  23. Matthieu MoyJun 9, 2011
  24. Jakub NarebskiJun 8, 2011
  25. Claire FousseJun 9, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.