RelNotes/1.8.1.5.txt mentions 'Fixes since v1.8.1.5'
which should obviously be empty. This fixes it.
Signed-off-by: Stefan Naewe
---
Documentation/RelNotes/1.8.1.5.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/RelNotes/1.8.1.5.txt
b/Documentation/RelNotes
Am 2/25/2013 21:31, schrieb Jeff King:
> Subject: [PATCH] utf8: accept alternate spellings of UTF-8
> ...
> JSixt, can you double-check that this passes t4210 for you?
Yes, t4210 and all other *i18n* and *log* tests pass with this patch.
Thanks,
-- Hannes
>
> utf8.c | 20 ++--
>
On Mon, Feb 18, 2013 at 10:53 PM, Thomas Rast wrote:
> * We should prepare an "ideas page". Last year, Peff made one on
> https://github.com/peff/git/wiki/SoC-2012-Ideas
[Resending the mail, because the last one failed because of inline html content]
One of the proposed ideas last year - '
On Mon, Feb 25, 2013 at 02:04:18AM +0100, Heiko Voigt wrote:
> This can be used to read configuration values directly from gits
> database.
>
> Signed-off-by: Heiko Voigt
FWIW, I implemented something quite similar as a 2-patch series here:
http://article.gmane.org/gmane.comp.version-control
On 02/25/2013 01:44 AM, Junio C Hamano wrote:
I was in "find leftover bits" mode today and found this thread
hanging. Has anything come out of this thread, or there is nothing to
improve in this area?
The patch passed my simple tests (build, run a few commands), but I
didn't get around to a
On Fri, Feb 22, 2013 at 2:57 PM, Adam Mercer wrote:
> So it seems as if showrev is being ignored? Can anyone see what I'm doing
> wrong?
Anyone? From looking at the documentation I can't see anything wrong
but as it's not displaying anything something is clearly wrong.
Cheers
Adam
--
To unsub
Philip Oakley writes:
> On 25/02/13 05:29, Junio C Hamano wrote:
> ...
>> In other words, can't you change the side that launches the document
>> viewer so that we do not have to rename anything in the first place?
>
> The current help code will only show either 'git-' man pages, or
> git' pages
Am 25.02.2013 07:43, schrieb Junio C Hamano:
> Erik Faye-Lund writes:
>
>> On Thu, Jan 10, 2013 at 1:10 PM, Karsten Blees
>> wrote:
>>> Changes since initial version (see attached diff for details):
>>> - split in two patches
>>> - removed unused variables
>>> - improved the dll error message
>
Philip Oakley writes:
>>> The first comment line fortells of patch 6 which can generate this .h
>>> file.
>>
>> The Huh? was about that one, not about reuse. I do not want to see
>> a build artifact kept in the history without a good reason.
>>
> I'd copied it from generate-cmdlist.sh which is a
Karsten Blees writes:
> Am 25.02.2013 07:43, schrieb Junio C Hamano:
>> Erik Faye-Lund writes:
> ...
>> I'm in the "marking leftover bits" mode today, and noticed that
>> nothing happened for this topic in my tree. Did msysgit folks expect
>> me to pick this up directly, or did you guys want to
On 25/02/13 05:24, Junio C Hamano wrote:
"Philip Oakley" writes:
From: "Junio C Hamano"
Sent: Sunday, February 24, 2013 9:01 AM
Philip Oakley writes:
diff --git a/common-guides.h b/common-guides.h
new file mode 100644
index 000..a8ad8d1
--- /dev/null
+++ b/common-guides.h
@@ -0,0 +1,1
On 25/02/13 05:29, Junio C Hamano wrote:
Philip Oakley writes:
@@ -35,6 +37,8 @@ MAN_XML=$(patsubst %.txt,%.xml,$(MAN_TXT))
MAN_HTML=$(patsubst %.txt,%.html,$(MAN_TXT))
OBSOLETE_HTML = git-remote-helpers.html
+OBSOLETE_HTML = everyday.html
+OBSOLETE_HTML = user-manual.html
DOC_HTML=$(MA
From: "W. Trevor King"
I tried to always use backticks for:
* Paths and filenames (e.g. `.git/config`)
* Compound refs (e.g. `origin/HEAD`)
* Git commands (e.g. `git log`)
* Command arguments (e.g. `--pretty`)
* URLs (e.g. `git://`), as a subset of command arguments
* Special characters (e.g. `+`
>>> In this example, the common prefix would be "a/b/" and the common
>>> suffix that does not overlap with the prefix part would be "/c", so
>>> I am imagining that "a/b/{ => b}/c" would be the desired output?
>>
>>
>> Yes, at least that's what I expected.
>
>
> Surely it would be "a/b/{b => }/c",
On 25/02/13 19:50, Antoine Pelisse wrote:
On Sun, Feb 24, 2013 at 10:15 AM, Junio C Hamano wrote:
Antoine Pelisse writes:
When considering a rename for two files that have a suffix and a prefix
that can overlap, a confusing line is shown. As an example, renaming
"a/b/b/c" to "a/b/c" shows "a
Mike Gorchak writes:
> Do not compare time_t (less comparison) with -1. If time_t
> is unsigned this leads to always true comparison.
>
> Signed-off-by: Mike Gorchak
> ---
> date.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/date.c b/date.c
> index 57331ed..1ac28e5
Mike Gorchak writes:
> Do not compare time_t (less comparison) with -1. If time_t
> is unsigned this leads to always true comparison.
>
> Signed-off-by: Mike Gorchak
> ---
> date.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/date.c b/date.c
> index 57331ed..1ac28e5
Mike Gorchak writes:
>>> So is_date() always return negative result for the text string where
>>> date is placed before time like '2008-02-14 20:30:45'.
>> Yes, it returns this -1 on other platforms, but...
>>> It must fail on
>>> other platforms as well.
>
> It also fails under Linux, but real p
The new "git-status --ignored" handling introduced with 721ac4ed "dir.c:
Make git-status --ignored more consistent" and a45fb697 "status: always
report ignored tracked directories" still has a few flaws in the
"--untracked-files=normal" case:
- It lists directories that match the exclude pattern,
Fix time offset calculation expression in case if time_t
is unsigned. This code works fine for signed and
unsigned time_t.
Signed-off-by: Mike Gorchak
---
date.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/date.c b/date.c
index 1ac28e5..11ee7b4 100644
--- a/da
Do not compare time_t (less comparison) with -1. If time_t
is unsigned this leads to always true comparison.
Signed-off-by: Mike Gorchak
---
date.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/date.c b/date.c
index 57331ed..1ac28e5 100644
--- a/date.c
+++ b/date.c
@@ -383,
>> So is_date() always return negative result for the text string where
>> date is placed before time like '2008-02-14 20:30:45'.
> Yes, it returns this -1 on other platforms, but...
>> It must fail on
>> other platforms as well.
It also fails under Linux, but real problem is not here, it is just
Carlos Martín Nieto writes:
>> As packed-refs file is expected to be a text file, it is not
>> surprising to get an undefined result if the it ends with an
>> incomplete line.
>
> I guess that depends on what you mean by incomplete.
I used that word in the POSIX sense, i.e.
http://pubs.openg
On 25.02.13 16:19, Jeff King wrote:
> On Mon, Feb 25, 2013 at 09:37:50AM +0100, Johannes Sixt wrote:
>
>> From: Johannes Sixt
>>
>> iconv on Windows does not know the encoding name "utf8", and does not
>> re-encode log messages when this name is given. Request "UTF-8" encoding.
>>
>> Signed-off-b
On Mon, Feb 25, 2013 at 07:54:47PM +0100, Torsten Bögershausen wrote:
> (beside that I couldn't find t4210 somewhere),
It's newly added in 04deccd.
> diff --git a/utf8.c b/utf8.c
> index a4ee665..e9850d0 100644
> --- a/utf8.c
> +++ b/utf8.c
> @@ -487,6 +487,10 @@ char *reencode_string(const char
John Keeping writes:
> This matches the use of the variables with the same names in autotools,
> reducing the potential for user surprise.
>
> Using relative paths in these variables also causes issues if they are
> exported from the Makefile, as discussed in commit c09d62f (Makefile: do
> not ex
On Mon, 2013-02-25 at 12:07 -0800, Junio C Hamano wrote:
> Carlos Martín Nieto writes:
>
> >> A shot in the dark, as I do not seem to be able to reproduce the issue
> >> with anything that contains the commit. Perhaps your .git/packed-refs
> >> is corrupt?
> >
> > My packed-refs file did not end
On Mon, Feb 25, 2013 at 11:06:37AM -0800, Junio C Hamano wrote:
> Jeff King writes:
>
> > ... I think the simplest thing would just be:
> >
> > diff --git a/utf8.c b/utf8.c
> > index 1087870..8d42b50 100644
> > --- a/utf8.c
> > +++ b/utf8.c
> > @@ -507,6 +507,17 @@ char *reencode_string(const ch
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Carlos Martín Nieto writes:
>> A shot in the dark, as I do not seem to be able to reproduce the issue
>> with anything that contains the commit. Perhaps your .git/packed-refs
>> is corrupt?
>
> My packed-refs file did not end with LF. It seems it must or the parser
> won't consider the last tag
On Mon, 2013-02-25 at 11:27 -0800, Junio C Hamano wrote:
> Carlos Martín Nieto writes:
>
> > On Mon, 2013-02-25 at 10:31 -0800, Junio C Hamano wrote:
> > ...
> >> Interesting. "git ls-remote . | grep 1.8.0-" for maint, master,
> >> next and pu produce identical results for me, all showing peeled
On Sun, Feb 24, 2013 at 10:15 AM, Junio C Hamano wrote:
> Antoine Pelisse writes:
>
>> When considering a rename for two files that have a suffix and a prefix
>> that can overlap, a confusing line is shown. As an example, renaming
>> "a/b/b/c" to "a/b/c" shows "a/b/{ => }/b/c".
>
> This would be
Matthieu Moy writes:
> Antoine Pelisse writes:
>
>>> "git rm" really seems to be a better place for removing files from the
>>> index.
>>
>> Then, I don't exactly understand the meaning of git-rm but being a
>> _shortcut_ for "remove and stage".
>
> "git rm --cached" is exactly "remove from inde
Antoine Pelisse writes:
>> "git rm" really seems to be a better place for removing files from the
>> index.
>
> Then, I don't exactly understand the meaning of git-rm but being a
> _shortcut_ for "remove and stage".
"git rm --cached" is exactly "remove from index".
And even without --cached, as
Mike Gorchak writes:
> if (tm->tm_hour < 0 || tm->tm_min < 0 || tm->tm_sec < 0)
> return -1;
>
> So is_date() always return negative result for the text string where
> date is placed before time like '2008-02-14 20:30:45'.
Yes, it returns this -1 on other platforms, but...
>
On Mon, Feb 25, 2013 at 8:50 PM, Jeff King wrote:
> Note that "git verify-tag" and "git tag -v" depend on
> "cat-file -p" to show the tag. This means they will start
> showing the raw timestamp. We may want to adjust them to
> use the pretty-printing code from "git show".
>
> Signed-off-by: Jeff K
> The thing that puzzles me is that nobody reported that the following
> fail on their platforms (and they do not fail for me on platforms I
> have to test in my real/virtual boxes).
Ok, check_parse calls function parse_date(), it calls
parse_date_basic(), where following code is present:
Some platforms may lack the NI_MAXHOST and NI_MAXSERV values in their
system headers, so ensure they are available.
Signed-off-by: David Michael
---
NI_MAXHOST is missing from my platform, and it has no compatibility
definition anywhere.
$ grep -FIR NI_MAXHOST
imap-send.c:ch
The first release candidate Git v1.8.2-rc1 is now available for
testing at the usual places.
The release tarballs are found at:
http://code.google.com/p/git-core/downloads/list
and their SHA-1 checksums are:
44172a71a711b83b4cfaa8e41dd24d05068b0887 git-1.8.2.rc1.tar.gz
fd23a6fd099bf13f8976
On Mon, Feb 25, 2013 at 8:07 PM, Matthieu Moy
wrote:
> Antoine Pelisse writes:
>
>> I must say that I'm not very interested in the feature. In my opinion,
>> there are already many different ways to stage changes.
>> Assuming that the feature would be needed, I would keep it under the
>> scope of
Carlos Martín Nieto writes:
> On Mon, 2013-02-25 at 10:31 -0800, Junio C Hamano wrote:
> ...
>> Interesting. "git ls-remote . | grep 1.8.0-" for maint, master,
>> next and pu produce identical results for me, all showing peeled
>> ones correctly.
>
> Bisection leads me to Peff's 435c8332 (2012-1
On Mon, 2013-02-25 at 10:31 -0800, Junio C Hamano wrote:
> Carlos Martín Nieto writes:
>
> > Hi all,
> >
> > When testing to see if a different implementation was in shape, I came
> > across something odd where newer git doesn't advertise one of the refs
> > in the git repo.
> >
> > Running `git
Antoine Pelisse writes:
> I must say that I'm not very interested in the feature. In my opinion,
> there are already many different ways to stage changes.
> Assuming that the feature would be needed, I would keep it under the
> scope of git-add, as it's the reference for staging. I would suggest
Jeff King writes:
> ... I think the simplest thing would just be:
>
> diff --git a/utf8.c b/utf8.c
> index 1087870..8d42b50 100644
> --- a/utf8.c
> +++ b/utf8.c
> @@ -507,6 +507,17 @@ char *reencode_string(const char *in, const char
> *out_encoding, const char *in_e
>
> if (!in_encoding)
Mike Gorchak writes:
>>> Fix is_date() function failings in detection of correct date in case
>>> if time was not properly initialized.
>>
>> Please explain why this patch is needed and what problem this patch
>> is trying to fix (if any) a bit better in the proposed log message.
>> For example,
Hi Hannes,
On Mon, 25 Feb 2013, Johannes Sixt wrote:
> Am 2/25/2013 7:54, schrieb Junio C Hamano:
> > Ramsay Jones writes:
> >
> >> As I mentioned recently, while discussing a cygwin specific patch
> >> (see "Version 1.8.1 does not compile on Cygwin 1.7.14" thread), the
> >> MSVC build is broke
On 25.02.13 09:37, Johannes Sixt wrote:
> From: Johannes Sixt
>
> iconv on Windows does not know the encoding name "utf8", and does not
> re-encode log messages when this name is given. Request "UTF-8" encoding.
>
> Signed-off-by: Johannes Sixt
> ---
> I'm not sure whether I'm right to say tha
I must say that I'm not very interested in the feature. In my opinion,
there are already many different ways to stage changes.
Assuming that the feature would be needed, I would keep it under the
scope of git-add, as it's the reference for staging. I would suggest
something like:
git add -r
When "cat-file -p" prints commits, it shows them in their
raw format, since git's format is already human-readable.
For tags, however, we print the whole thing raw except for
one thing: we convert the timestamp on the tagger line into a
human-readable date.
This dates all the way back to a0f15fa (
The fsck_tag function does not check very much about tags at
all; it just makes sure that we were able to load the
pointed-to object during the parse_tag phase. This does
check some basic things (the "object" line is OK, and the
pointed-to object exists with the expected type).
We did not, however
>> Fix is_date() function failings in detection of correct date in case
>> if time was not properly initialized.
>
> Please explain why this patch is needed and what problem this patch
> is trying to fix (if any) a bit better in the proposed log message.
> For example, on what input do we call this
The const rules in C are such that one cannot write a
function that takes a const or non-const pointer and returns
a pointer that matches the input in const-ness. Instead, you
must take a const pointer (because you are promising not to
modify it), and then either return a const pointer (which is
sa
The split_ident_line function is used by many code paths to
find the name, mail, and date fields of an identity line.
It will return failure when the output is completely
unparseable, but may return success (along with a NULL date
field) if the date is empty or malformed. Callers that care
about t
Add detection of getpagesize() function in libc. Declare
empty "NO_GETPAGESIZE" macro in case if getpagesize()
exists and "NO_GETPAGESIZE=YesPlease" if no.
Signed-off-by: Mike Gorchak
---
configure.ac | 5 +
1 file changed, 5 insertions(+)
diff --git a/configure.ac b/configure.ac
index d0e
Carlos Martín Nieto writes:
> Hi all,
>
> When testing to see if a different implementation was in shape, I came
> across something odd where newer git doesn't advertise one of the refs
> in the git repo.
>
> Running `git ls-remote .` or `git-upload-pack` in my git repo, newer git
> versions omit
On Fri, Feb 22, 2013 at 03:20:10PM -0800, Junio C Hamano wrote:
> As pp_user_info() is called from very few places, I do not think it
> is unreasonable to add an output parameter (i.e. "unsigned *") to
> let the caller know that we made a best guess given malformed input
> and handle the error in
Mike Gorchak writes:
> Fix is_date() function failings in detection of correct date in case
> if time was not properly initialized.
Please explain why this patch is needed and what problem this patch
is trying to fix (if any) a bit better in the proposed log message.
For example, on what input d
On Sat, Feb 23, 2013 at 01:14:40AM +0200, Mantas Mikulėnas wrote:
> > Then I think it would make sense to allow the very specific no-date tag,
> > but not allow arbitrary crud. I wonder if there's an example in the
> > kernel or in git.git.
>
> I couldn't find any such examples. However, I did fi
> Also, please leave the "autodetection" out. If it is common to have
> strcasestr (or any other) on a newer QNX, then not defining the
> symbol NO_STRCASESTR in this file may still be the right thing to
> do, but the justification for such a change should not be because we
> rely on "autodetectio
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Florian Achleitner writes:
> For a student one aspect of GSOC is also quite important: It is a cool and
> demanding summer job during the holidays, but it has to ramp down when the
> new
> semester starts.
Thanks for sharing.
I think an important lesson is that mentors and reviewers need to
Mike Gorchak writes:
> Add pthread support in QNX. Do not declare NO_ macros if they can be
> autodetected.
>
> From: Mike Gorchak
> Signed-off-by: Mike Gorchak
One procedural nit. Please drop that "From:" immediately before
S-o-b: from future submissions (I'll remove it locally for this
patc
Hi Junio,
On Sun, Feb 24, 2013 at 09:54:43PM -0800, Junio C Hamano wrote:
> Heiko Voigt writes:
>
> > diff --git a/config.c b/config.c
> > index aefd80b..f995e98 100644
> > --- a/config.c
> > +++ b/config.c
> > @@ -13,6 +13,9 @@
> > typedef struct config_file {
> > struct config_file *prev;
Hi all,
When testing to see if a different implementation was in shape, I came
across something odd where newer git doesn't advertise one of the refs
in the git repo.
Running `git ls-remote .` or `git-upload-pack` in my git repo, newer git
versions omit peeling the v1.8.0-rc3 tag.
The diff betwe
I can phrase this in two ways and I'll start with the short way:
Why does a merge of a git submodule use as merge-base the commit that was
active in the merge-base of the parent repo, rather than the merge-base of
the two commits that are being merged?
The long question is:
A submodule cha
On Fri, 8 Feb 2013 01:18:55 -0500 Jeff King wrote:
>> +# the following check is copied from Net::Netrc, for non-GPG files
>> +# OS/2 and Win32 do not handle stat in a way compatable with this check
>> :-(
JK> s/compatable/compatible/
This is from the Net::Netrc module. Fixed in my co
This credential helper supports multiple files, returning the first one
that matches. It checks file permissions and owner. For *.gpg files,
it will run GPG to decrypt the file.
Signed-off-by: Ted Zlatanov
---
Changes since PATCHv6:
- change Makefile test to test.pl (using Perl Test module) +
On Mon, Feb 25, 2013 at 8:46 AM, Jeff King wrote:
> On Sun, Feb 24, 2013 at 11:01:50PM +0530, Zubin Mithra wrote:
>
>> There seems to be a security issue in the way git uses openssl for
>> certificate validation. Similar occurrences have been found and
>> documented in other open source projects,
On Mon, Feb 25, 2013 at 09:37:50AM +0100, Johannes Sixt wrote:
> From: Johannes Sixt
>
> iconv on Windows does not know the encoding name "utf8", and does not
> re-encode log messages when this name is given. Request "UTF-8" encoding.
>
> Signed-off-by: Johannes Sixt
> ---
> I'm not sure whet
On 25/02/13 06:54, Junio C Hamano wrote:>>> Besides, you would want to
differentiate the two kinds of 755 anyway
>>> (I'd prefer INSTALL_PROGRAM to use -m 555 personally, for example).
>>
>> Yes, I think I lost that one in the mists of sed-land when making the
>> changes :)
>>
>> I'll revise the
Since 204ce97 (Also use unpack_trees() in do_diff_cache() -
2008-01-20), do_diff_cache() always returns zero. It does not make
sense to check its return value any more.
Signed-off-by: Nguyễn Thái Ngọc Duy
---
I don't know the history behind this function. But it feels not right
to do exit(128)
Hi, Junio
The following changes since commit 20a599e2c18dd5b491257d7f8aeb2d2f02221595:
Merge branch 'jc/mention-tracking-for-pull-default' (2013-02-18
16:05:03 -0800)
are available in the git repository at:
git://github.com/git-l10n/git-po master
for you to fetch changes up to c527acebc20
On 02/25/2013 10:54 AM, Matthieu Moy wrote:
> Michael Haggerty writes:
>
>> On 02/20/2013 01:28 PM, Matthieu Moy wrote:
>>> Michael Haggerty writes:
A while ago, I submitted an RFC for adding a new email notification
script to "contrib" [...]
>>>
>>> We've discussed offline with Michae
[corrected David Barr's address]
On Monday 18 February 2013 12:42:39 Jeff King wrote:
> And I do not want to blame the students here (some of whom are on the cc
> list ). They are certainly under no obligation to stick around after
> GSoC ends, and I know they have many demands on their time. But
Michael Haggerty writes:
> I wonder whether it would be to far off the beaten path to allow glob
> patterns in the branch specification; e.g.,
>
>[multimailhook "refs/heads/release-*"]
> mailingList = q...@example.com
Yes, that would be even better.
> For the case of multiple glob
Michael Haggerty writes:
> On 02/20/2013 01:28 PM, Matthieu Moy wrote:
>> Michael Haggerty writes:
>>> A while ago, I submitted an RFC for adding a new email notification
>>> script to "contrib" [...]
>>
>> We've discussed offline with Michael, a few patches have been merged,
>> and there are s
Add pthread support in QNX. Do not declare NO_ macros if they can be
autodetected.
From: Mike Gorchak
Signed-off-by: Mike Gorchak
---
config.mak.uname | 22 +++---
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/config.mak.uname b/config.mak.uname
index 8743a6d..d
From: Johannes Sixt
iconv on Windows does not know the encoding name "utf8", and does not
re-encode log messages when this name is given. Request "UTF-8" encoding.
Signed-off-by: Johannes Sixt
---
I'm not sure whether I'm right to say that "UTF-8" is the correct
spelling. Anyway, 'iconv -l' o
Fix is_date() function failings in detection of correct date in case
if time was not properly initialized.
From: Mike Gorchak
Signed-off-by: Mike Gorchak
---
date.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/date.c b/date.c
index 57331ed..ec758f4 100644
---
Hi Junio,
> Swapping the order between CFLAGS and BASIC_CFLAGS in ALL_CFLAGS may
> be a good change for that reason as well.
This sounds very reasonable.
> In any case, I won't take a patch to rename source files left and
> right only to work around name collisions with random system header
> fi
Am 2/25/2013 7:54, schrieb Junio C Hamano:
> Ramsay Jones writes:
>
>> As I mentioned recently, while discussing a cygwin specific patch
>> (see "Version 1.8.1 does not compile on Cygwin 1.7.14" thread), the
>> MSVC build is broken for me.
>>
>> The first 4 patches fix the MSVC build for me. The
82 matches
Mail list logo