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

Re: [PATCH 4/8] rev-parse: teach "git rev-parse --symbolic" to print the full ref name

From
Steffen Prohaska <prohaska@zib.de>
Date
Oct 28, 2007, 08:56 UTC
Message-ID
<30641295-495B-4E5E-9D44-5CAF7C480DF2@zib.de>
In-Reply-To
<20071028080654.GS14735@spearce.org>
On Oct 28, 2007, at 9:06 AM, Shawn O. Pearce wrote:
Show 23 quoted lines
> Steffen Prohaska <prohaska@zib.de> wrote:
>> On Oct 28, 2007, at 8:28 AM, Junio C Hamano wrote:
>>> Steffen Prohaska <prohaska@zib.de> writes:
>>>> @@ -213,6 +215,7 @@ int cmd_rev_parse(int argc, const char **argv,
>>>> const char *prefix)
>>>> {
>>>> 	int i, as_is = 0, verify = 0;
>>>> 	unsigned char sha1[20];
>>>> +	char* real_name = 0;
>>>
>>> Pointer sign '*' in git sources go next to the name not the
>>> type, as:
>>>
>>> 	char *real_name = NULL;
>>
>> I know and I tried hard to follow this convention, although
>> I think its the wrong choice ;)
>
> Oh, hmm...
>
>   char* a, b;
>
> What's the type of b?  If you said "char*" you're wrong.
I know. Obviously, you need a combination of conventions.
- '*' is part of the type; put it there.
- Only define a single variable per statement.

My combined rule avoids your question. I typically use C++, which make the second rule easier to follow, because you defer defining variables until you really need them. There's no need to save space at the start of the function block by defining several variables in a single line.

> Git's style of putting the * next to the name makes it far easier to
> spot these sort of typing problems.  At least that's my take on it.

Let's stop this discussion here. I'm not proposing to change the rules. I'll follow the git coding conventions when submitting patches to git, even if it's sometimes hard for me. I already packed as much as possible in my editor configuration. Unfortunately, I can't teach vim to always place the '*' correctly. At least I don't know how to do this.

	Steffen
Previous: Shawn O. PearceNext: Brian Gernhardt
Message 30 of 36 in “improve push's refspec handling”
  1. 0/8 improve push's refspec handlingSteffen Prohaska, Oct 27, 2007
  2. 1/8 push: change push to fail if short ref name does not existSteffen Prohaska, Oct 27, 2007
  3. 2/8 push: teach push new flag --createSteffen Prohaska, Oct 27, 2007
  4. 3/8 add get_sha1_with_real_ref() returning full name of ref on demandSteffen Prohaska, Oct 27, 2007
  5. 4/8 rev-parse: teach "git rev-parse --symbolic" to print the full ref nameSteffen Prohaska, Oct 27, 2007
  6. 5/8 push, send-pack: support pushing HEAD to real ref nameSteffen Prohaska, Oct 27, 2007
  7. 6/8 add ref_cmp_full_short() comparing full ref name with a short nameSteffen Prohaska, Oct 27, 2007
  8. 7/8 push: use same rules as git-rev-parse to resolve refspecsSteffen Prohaska, Oct 27, 2007
  9. 8/8 push: teach push to be quiet if local ref is strict subset of remote refSteffen Prohaska, Oct 27, 2007
  10. Junio C HamanoOct 28, 2007
  11. Steffen ProhaskaOct 28, 2007
  12. Junio C HamanoOct 28, 2007
  13. Daniel BarkalowOct 27, 2007
  14. Junio C HamanoOct 28, 2007
  15. Daniel BarkalowOct 27, 2007
  16. Junio C HamanoOct 28, 2007
  17. Steffen ProhaskaOct 28, 2007
  18. Steffen ProhaskaOct 28, 2007
  19. Junio C HamanoOct 28, 2007
  20. Steffen ProhaskaOct 28, 2007
  21. Junio C HamanoOct 28, 2007
  22. Steffen ProhaskaOct 28, 2007
  23. Junio C HamanoOct 28, 2007
  24. Steffen ProhaskaOct 31, 2007
  25. Daniel BarkalowOct 27, 2007
  26. Steffen ProhaskaOct 28, 2007
  27. Junio C HamanoOct 28, 2007
  28. Steffen ProhaskaOct 28, 2007
  29. Shawn O. PearceOct 28, 2007
  30. Steffen ProhaskaOct 28, 2007
  31. Brian GernhardtOct 28, 2007
  32. Junio C HamanoOct 28, 2007
  33. Junio C HamanoOct 28, 2007
  34. Daniel BarkalowOct 27, 2007
  35. Junio C HamanoOct 28, 2007
  36. Steffen ProhaskaOct 28, 2007

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.