Skip to content

Commit

Permalink
Merge branches 'js/lsfix', 'pb/config' and 'jn/web' into next
Browse files Browse the repository at this point in the history
* js/lsfix:
  Initialize lock_file struct to all zero.

* pb/config:
  Read configuration also from $HOME/.gitconfig
  Fix setting config variables with an alternative GIT_CONFIG

* jn/web:
  Make CSS file gitweb/gitweb.css more readable
  • Loading branch information
Junio C Hamano committed Jun 20, 2006
4 parents 275fb96 + 928e47e + 5f1a63e + 75c84dd commit 474bc4e
Show file tree
Hide file tree
Showing 7 changed files with 319 additions and 71 deletions.
2 changes: 1 addition & 1 deletion builtin-update-index.c
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ int cmd_update_index(int argc, const char **argv, char **envp)
git_config(git_default_config);

/* We can't free this memory, it becomes part of a linked list parsed atexit() */
lock_file = xmalloc(sizeof(struct lock_file));
lock_file = xcalloc(1, sizeof(struct lock_file));

newfd = hold_lock_file_for_update(lock_file, get_index_file());
if (newfd < 0)
Expand Down
2 changes: 1 addition & 1 deletion builtin-write-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int write_tree(unsigned char *sha1, int missing_ok, const char *prefix)
int entries, was_valid, newfd;

/* We can't free this memory, it becomes part of a linked list parsed atexit() */
struct lock_file *lock_file = xmalloc(sizeof(struct lock_file));
struct lock_file *lock_file = xcalloc(1, sizeof(struct lock_file));

newfd = hold_lock_file_for_update(lock_file, get_index_file());

Expand Down
49 changes: 37 additions & 12 deletions config.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,17 +317,33 @@ int git_config_from_file(config_fn_t fn, const char *filename)

int git_config(config_fn_t fn)
{
const char *filename = git_path("config");
/* Forward-compatibility cue: $GIT_CONFIG makes git read _only_
* the given config file, $GIT_CONFIG_LOCAL will make it process
* it in addition to the global config file, the same way it would
* the per-repository config file otherwise. */
if (getenv("GIT_CONFIG")) {
filename = getenv("GIT_CONFIG");
} else if (getenv("GIT_CONFIG_LOCAL")) {
int ret = 0;
char *repo_config = NULL;
const char *home = NULL, *filename;

/* $GIT_CONFIG makes git read _only_ the given config file,
* $GIT_CONFIG_LOCAL will make it process it in addition to the
* global config file, the same way it would the per-repository
* config file otherwise. */
filename = getenv("GIT_CONFIG");
if (!filename) {
home = getenv("HOME");
filename = getenv("GIT_CONFIG_LOCAL");
if (!filename)
filename = repo_config = strdup(git_path("config"));
}
return git_config_from_file(fn, filename);

if (home) {
char *user_config = strdup(mkpath("%s/.gitconfig", home));
if (access(user_config, R_OK) > 0)
ret = git_config_from_file(fn, user_config);
free(user_config);
}

ret += git_config_from_file(fn, filename);
if (repo_config)
free(repo_config);
return ret;
}

/*
Expand Down Expand Up @@ -500,10 +516,19 @@ int git_config_set_multivar(const char* key, const char* value,
int i, dot;
int fd = -1, in_fd;
int ret;
char* config_filename = strdup(git_path("config"));
char* lock_file = strdup(git_path("config.lock"));
char* config_filename;
char* lock_file;
const char* last_dot = strrchr(key, '.');

config_filename = getenv("GIT_CONFIG");
if (!config_filename) {
config_filename = getenv("GIT_CONFIG_LOCAL");
if (!config_filename)
config_filename = git_path("config");
}
config_filename = strdup(config_filename);
lock_file = strdup(mkpath("%s.lock", config_filename));

/*
* Since "key" actually contains the section name and the real
* key name separated by a dot, we have to know where the dot is.
Expand Down Expand Up @@ -610,7 +635,7 @@ int git_config_set_multivar(const char* key, const char* value,
* As a side effect, we make sure to transform only a valid
* existing config file.
*/
if (git_config(store_aux)) {
if (git_config_from_file(store_aux, config_filename)) {
fprintf(stderr, "invalid config file\n");
free(store.key);
if (store.value_regex != NULL) {
Expand Down
272 changes: 222 additions & 50 deletions gitweb/gitweb.css
Original file line number Diff line number Diff line change
@@ -1,58 +1,230 @@
body {
font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px;
margin:10px; background-color:#ffffff; color:#000000;
}
a { color:#0000cc; }
a:hover, a:visited, a:active { color:#880000; }
div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
div.page_header a:visited, a.header { color:#0000cc; }
div.page_header a:hover { color:#880000; }
div.page_nav { padding:8px; }
div.page_nav a:visited { color:#0000cc; }
div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
div.page_footer { height:17px; padding:4px 8px; background-color: #d9d8d1; }
div.page_footer_text { float:left; color:#555555; font-style:italic; }
div.page_body { padding:8px; }
font-family: sans-serif;
font-size: 12px;
border:solid #d9d8d1;
border-width: 1px;
margin: 10px;
background-color: #ffffff;
color: #000000;
}

a {
color: #0000cc;
}

a:hover, a:visited, a:active {
color: #880000;
}

div.page_header {
height: 25px;
padding: 8px;
font-size: 18px;
font-weight: bold;
background-color: #d9d8d1;
}

div.page_header a:visited, a.header {
color: #0000cc;
}

div.page_header a:hover {
color: #880000;
}

div.page_nav {
padding:8px;
}

div.page_nav a:visited {
color: #0000cc;
}

div.page_path {
padding: 8px;
border: solid #d9d8d1;
border-width: 0px 0px 1px;
}

div.page_footer {
height: 17px;
padding: 4px 8px;
background-color: #d9d8d1;
}

div.page_footer_text {
float: left;
color: #555555;
font-style: italic;
}

div.page_body {
padding: 8px;
}

div.title, a.title {
display:block; padding:6px 8px;
font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
display: block;
padding: 6px 8px;
font-weight: bold;
background-color: #edece6;
text-decoration: none;
color: #000000;
}

a.title:hover {
background-color: #d9d8d1;
}

div.title_text {
padding: 6px 0px;
border: solid #d9d8d1;
border-width: 0px 0px 1px;
}
a.title:hover { background-color: #d9d8d1; }
div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
div.log_body { padding:8px 8px 8px 150px; }
span.age { position:relative; float:left; width:142px; font-style:italic; }

div.log_body {
padding: 8px 8px 8px 150px;
}

span.age {
position: relative;
float: left;
width: 142px;
font-style:italic;
}

div.log_link {
padding:0px 8px;
font-size:10px; font-family:sans-serif; font-style:normal;
position:relative; float:left; width:136px;
}
div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
a.list { text-decoration:none; color:#000000; }
a.list:hover { text-decoration:underline; color:#880000; }
a.text { text-decoration:none; color:#0000cc; }
a.text:visited { text-decoration:none; color:#880000; }
a.text:hover { text-decoration:underline; color:#880000; }
table { padding:8px 4px; }
th { padding:2px 5px; font-size:12px; text-align:left; }
tr.light:hover { background-color:#edece6; }
tr.dark { background-color:#f6f6f0; }
tr.dark:hover { background-color:#edece6; }
td { padding:2px 5px; font-size:12px; vertical-align:top; }
td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
div.pre { font-family:monospace; font-size:12px; white-space:pre; }
div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
a.linenr { color:#999999; text-decoration:none }
padding: 0px 8px;
font-size: 10px;
font-family: sans-serif;
font-style:normal;
position: relative;
float: left;
width: 136px;
}

div.list_head {
padding: 6px 8px 4px;
border: solid #d9d8d1;
border-width: 1px 0px 0px;
font-style: italic;
}

a.list {
text-decoration: none;
color: #000000;
}

a.list:hover {
text-decoration: underline;
color: #880000;
}

a.text {
text-decoration: none;
color: #0000cc;
}

a.text:visited {
text-decoration: none;
color: #880000;
}

a.text:hover {
text-decoration: underline;
color: #880000;
}

table {
padding: 8px 4px;
}

th {
padding: 2px 5px;
font-size: 12px;
text-align: left;
}

tr.light:hover {
background-color: #edece6;
}

tr.dark {
background-color: #f6f6f0;
}

tr.dark:hover {
background-color: #edece6;
}


td {
padding: 2px 5px;
font-size: 12px;
vertical-align:top;
}

td.link {
padding: 2px 5px;
font-family: sans-serif;
font-size: 10px;
}

div.pre {
font-family: monospace;
font-size: 12px;
white-space: pre;
}

div.diff_info {
font-family: monospace;
color: #000099;
background-color: #edece6;
font-style: italic;
}

div.index_include {
border: solid #d9d8d1;
border-width: 0px 0px 1px;
padding: 12px 8px;
}

div.search {
margin: 4px 8px;
position: absolute;
top: 56px;
right: 12px
}

a.linenr {
color: #999999;
text-decoration: none
}

a.rss_logo {
float:right; padding:3px 0px; width:35px; line-height:10px;
border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
color:#ffffff; background-color:#ff6600;
font-weight:bold; font-family:sans-serif; font-size:10px;
text-align:center; text-decoration:none;
float: right;
padding: 3px 0px;
width: 35px;
line-height: 10px;
border: 1px solid;
border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
color: #ffffff;
background-color: #ff6600;
font-weight: bold;
font-family: sans-serif;
font-size: 10px;
text-align: center;
text-decoration: none;
}

a.rss_logo:hover {
background-color: #ee5500;
}
a.rss_logo:hover { background-color:#ee5500; }

span.tag {
padding:0px 4px; font-size:10px; font-weight:normal;
background-color:#ffffaa; border:1px solid; border-color:#ffffcc #ffee00 #ffee00 #ffffcc;
padding: 0px 4px;
font-size: 10px;
font-weight: normal;
background-color: #ffffaa;
border: 1px solid;
border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
}
Loading

0 comments on commit 474bc4e

Please sign in to comment.