Commit Graph

87 Commits

Author SHA1 Message Date
Ian Wienand 234ed85a92 Retire repo
Change-Id: I7d68f82c75cbc4dc7e843198593846e19cf88f14
2022-04-05 13:20:00 +10:00
James E. Blair 1e35b2096f Add OpenID SSO support. Configuring OPENID_SSO in gerrit.config
will allow the admin to specify an SSO entry point URL so that
users clicking on "Sign In" are sent directly to that URL.
2011-07-22 23:27:06 +00:00
Shawn O. Pearce 080a51f4e6 Merge branch 'stable'
* stable:
  Fix ChangeDetailFactory's invocation of PatchSetDetailFactory
  Release notes for 2.1.7.1
  Fix API breakage on ChangeDetailService
  Do not reset Patch History selection on navigation to next file diff
  Resolve Project Owners when checking access right on any ref

Conflicts:
	gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectControl.java
	gerrit-server/src/test/java/com/google/gerrit/server/project/RefControlTest.java

Change-Id: I6e956625cb4648df35035b9be2d32e6e431fb8f3
2011-06-07 13:44:39 -07:00
Shawn O. Pearce e313242c05 Fix API breakage on ChangeDetailService
The Mylyn Reviews project pointed out Gerrit changed the API
signature of a JSON method they use remotely. Fix the API back to the
original signature, and define a new method with the extra arguments.

Change-Id: I51cbbdd64bdb72a666a6b5266db3b93494b75182
Signed-off-by: Shawn O. Pearce <sop@google.com>
2011-06-07 10:10:39 -07:00
Shawn Pearce 9fb03c8bc9 Merge "Add ExpandAllComments checkbox in PatchScreen" 2011-06-07 08:04:45 -07:00
Raviteja Sunkara 3ec87fa1be Add ExpandAllComments checkbox in PatchScreen
Change-Id: I2bc786285940655d17c498ec6abbe8dfe8e5e974
2011-06-06 12:13:41 +05:30
Shawn O. Pearce a52f8cd6a3 Only create source archives for packages that need one
We don't push our code to a Maven repository, so there only reason
to construct source archives is to feed source files into the GWT
compiler.  Move the source plugin onto only the packages that we
feed into the GWT code, allowing the others to skip this step.

This fixes a "bug" in a later change that adds the Prolog Cafe
translater to the build process.  Without this change first, the
Prolog Cafe translator is firing twice for every Prolog source file
that is part of our standard build.

Change-Id: Iba38aa371ce7c8950ac30dc3cf06e01b465afb5a
Signed-off-by: Shawn O. Pearce <sop@google.com>
2011-06-02 10:01:53 -07:00
Shawn O. Pearce 4e67700dab Change version to 2.2-SNAPSHOT
Change-Id: I1d3e6c42bc678536162a81d2b13372659a1c3dec
Signed-off-by: Shawn O. Pearce <sop@google.com>
2011-05-31 10:30:57 -07:00
Shawn O. Pearce 0bfcc2181c Merge branch 'stable'
* stable:
  Support different color pallete when not signed in
  Send new patchset event after its available
  Enable git:// download URLs if canonicalGitUrl set
  Fix NPE on Gerrit startup if mail.from doesn't include a name
  Add config setting to only suggest users which are in a visible group

Change-Id: I2bc9ca40e616c7f7b0c12de41f631c916439289c
2011-05-20 11:43:43 -07:00
Shawn O. Pearce a83bb1c344 Support different color pallete when not signed in
If the user is not signed in a different theme of colors can be
applied to the UI, making it more obvious that login is necessary.

Bug: issue 913
Change-Id: Id8c780042740b3b93dcee7ed84b3f9f6be06d9de
Signed-off-by: Shawn O. Pearce <sop@google.com>
2011-05-20 09:45:27 -07:00
Edwin Kempin eb077023ad Make access panel read-only when it opens
The access panel should be read-only when it opens, even if the user
has write permission. If the access panel is in read-only mode the
overview is better since the UI does not contain the controls for
editing the access rights. For users that have the permission to edit
the access rights there is an 'Edit' button to switch the access
panel into edit mode.

Bug: issue 956
Change-Id: I04b1072750455932779e95a0f7424b8fd4198901
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
2011-05-19 17:12:24 -07:00
Shawn O. Pearce 08ad16693e New ProjectAccessScreen to edit access controls
Change-Id: Ica21a1b3bb8b3b1f3e2e4f4964f25f9c8a1741be
Signed-off-by: Shawn O. Pearce <sop@google.com>
2011-05-19 16:53:04 -07:00
Shawn O. Pearce 6a765190df Move "ref_rights" table into Git
Permissions are stored in the project.config file within the
refs/meta/config branch of each project.  This makes the rules
more flexible in the future, as well as adds version control.

For example:

  [access "refs/*"]
    owner = group tools-owners

  [access "refs/heads/*"]
    label-Verified = -1..+1 group tools-dev
    label-Verified = -1..+1 group tools-owners
    label-Code-Review = -2..+2 group tools-owners
    submit = group tools-dev
    submit = group tools-owners

  [access "refs/heads/stable"]
    exclusiveGroupPermissions = read create push
    read = group Anonymous Users
    push = group tools-repo-maintainer

To enable easy remote editing of the configuration rules, the
following access block is added by default to -- All Projects --
and is thus inherited throughout the entire site:

  [access "refs/meta/config"]
    read = group Project Owners
    push = group Project Owners

This configuration section permits any project owner or site
administrator (as they are indirectly always a project owner of
any project) to push changes to the project.config file within
the refs/meta/config branch, updating access (and other project
information) remotely without using the web UI.

Change-Id: Idb56f657a4bf88108ad40bbb19d831e6806b68c5
Signed-off-by: Shawn O. Pearce <sop@google.com>
2011-05-19 16:53:03 -07:00
Shawn O. Pearce 83f6cc14af Temporarily remove ProjectAccessScreen
The ref_rights table is about to change its entire data model to
something stored in Git, and which uses a different layout in-memory
and on-disk than the old RefRight object.  Dropping the old web UI
before making the internal API changes reduces the amount of code that
is being modified at once.  A new UI will be built from scratch to
support the new data model more accurately than the old simple table
layout could do.

Change-Id: Idfdebc712b1241a81346084037bc5f6aeab6e42a
Signed-off-by: Shawn O. Pearce <sop@google.com>
2011-05-19 16:53:03 -07:00
Shawn Pearce 98f1ecfeae Merge "Adds a "revert change"-button to a submitted patchset." into stable 2011-05-19 16:44:12 -07:00
monica.dionisio 283a13df29 Support diff between patch sets
Pass through arguments for diff between patch sets

Modify internal APIs to pass through the old, new and preferences
needed to compute the differences between two patch sets for the
UI.

Bug: issue 194
Change-Id: I98827bf88227e912860769f22cd90f5c35b784b0
2011-05-19 16:00:18 -07:00
Gustaf Lundh 262629e6d3 Adds a "revert change"-button to a submitted patchset.
Change-Id: I409e656c88a7021f604c021ca3987d2e917c18d9
2011-05-19 14:23:03 -07:00
Nasser Grainawi 79548f158c Replace encodeComponent and decodeComponent
Use the deprecation replacements encodeQueryString and decodeQueryString.

Change-Id: Ib3cf73741b6d3430e9348338204ab3ff07908de9
2011-05-19 08:06:40 -07:00
Shawn Pearce 463427a371 Merge "Add an emailOnlyAuthors property to AccountGroups" 2011-04-11 12:23:25 -07:00
Raviteja Sunkara 547e8e8ebf Enhance UpToChange link to activate the last browsed patchset.
While returning to the Change using "UpToChange" link in any
patchset, always the latest patchset is activated. This commit
modifies the functionality of the "UpToChange" link by storing
the last browsed patchset and activating it on return. This
makes it easy to review older patchsets.

Bug: issue 822
Change-Id: Iaf01c53797d92434a0bc150f73ad232aec3619d6
2011-04-11 15:10:00 -04:00
Matt Fischer 620255aef7 Added support for included groups
This change adds a new item to the group configuration: a list of
groups whose members should be included in this one.  This makes it
possible to set up a hierarchy of included groups, which can make it
easier to maintain complex access control lists.

To accomplish this, two new database tables were added,
called AccountGroupIncludes and AccountGroupIncludesAudit.
The relevant support code was added around them, largely based on
the existing code for handling indivdual account membership.  In
addition, caches for group information were added, paralleling the
caches that already exist for accounts.

Change-Id: Ib6990c17739f28f38bc13961143db7ce79251567
2011-04-11 15:02:15 -04:00
Martin Fick a5678270a4 Add an emailOnlyAuthors property to AccountGroups
When this property is set on a group, actions and
comments from members of this group will only cause
emails to be sent to change authors.  This is
particularly useful to quiet actions from automation
users.

Change-Id: Ibcde6e07045ec00d095028c86e8dd47cef3cf582
2011-04-11 09:58:28 -06:00
Edwin Kempin b66c43fc0f Add group option that makes the group visible to all registered users
Normally a group is only visible to the group owners and the Gerrit
administrators. In certain environments (corporate or open source) it
can make sense to have groups that are visible to all registered
users. E.g.:
- a user needs access rights for a certain project, if this user can
  see the project owner group, he knows whom to contact to request
  the access rights
- a user needs support from a Gerrit administrator, if this user can
  see the administrator group, he knows whom to contact

This change adds a new group option that allows to make the group
visible to all registered users. Modifying the group is still only
allowed for the group owners. By default a newly created group will
only be visible to the group owners.

Change-Id: I2de0084a7842d73618ca48fa95804c22d5bb90cb
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
2011-04-08 10:36:47 +02:00
Edwin Kempin ff2438231f Display proper error message if non-existing/non-visible group is browsed
Browsing a group that does not exist or which is not visible for the
user fails and Gerrit shows the error message "Application Error,
Server Error, <group-id>". Since this error message looks like
something severe had gone wrong in Gerrit, this change implements
that now a proper error message is displayed in this case.
This fix is especially important since bug 797 allows a user to see
access rights for a group that is not visible to him and a link to
browse the group is provided which results in the error above if the
user clicks on it.

Bug: issue 804
Change-Id: Ieebdfd11cdea99e561bce49d09e83fbb10ada307
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
2011-03-10 15:07:01 +01:00
Anatol Pomozov 0de57554cc Update maven plugins to latest stable versions
Change-Id: I1f1e126778cb7801512fac1e6db5a57882ae28a8
2010-12-23 12:17:26 -08:00
Edwin Kempin fba6da8cb2 Update displayed owner group after group rename
In the AccountGroupScreen the group name and the
name of the owner group are displayed. A group
can own itself, in this case the group name and
the owner group name are the same. If now the
group got renamed by entering a new group name
and clicking on 'Rename Group' only the displayed
group name but not the displayed owner group name
was updated. With this change now also the
displayed owner group name gets updated on group
rename.

Signed-off-by: Edwin Kempin <edwin.kempin@gmail.com>
Bug: issue 751
2010-12-09 15:03:30 +01:00
Shawn O. Pearce 617aa397e3 Work around buggy MyersDiff by killing threads
The JGIt MyersDiff class contains a bug that triggers an infinite loop
on only certain input files.  Most source code is able to be processed
in a reasonable time bound, but some just steal a thread and never
return to the caller.

Implement a custom thread pool that is used to invoke MyersDiff for
the intraline difference data.  If the worker thread doesn't end
within the configured time bound (default of 5 seconds), Gerrit
removes the worker from the pool and tries to kill the worker with the
unsafe Thread.stop() method.

A custom thread pool is used to try and make Thread.stop() safe by
having the amount of data accessed by each worker thread be limited to
only the "constant" inputs supplied by the cache lookup request, and
the result that the thread would return.

If any locks are released early as a result of ThreadDeath going up
the worker thread stack at worst only the incoming or outgoing queues
that are private to that worker will be corrupted.  Since these queues
are private to the worker, and to the thread that is currently
borrowing this worker from the pool (and who is also now killing it),
we can safely ensure that the queues won't be touched after the
Thread.stop() request is made.  This wouldn't be true if we reused any
of the java.util.concurrent thread pool utilities.

This change doesn't actually fix the MyersDiff bug, so we're leaving
issue 487 open.  It does however reduce the impact by trying to abort
the runaway thread, and still show the file with intraline difference
support disabled on just that one file.

Bug: issue 487
Change-Id: I6cbfdd0acc6f7e612a29ed789efe9da591a45273
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-11-15 15:32:46 -08:00
Shawn O. Pearce 3c992c47ae Display empty branch list when project has no repository
If a project exists only to provide permissions inherited by other
projects, it probably has no Git repository, and thus cannot have
any branches.  Instead of crashing with an exception when clicking
on the branches tab in the admin web UI, display a message.

Bug: issue 612
Change-Id: I140ea74e640d732863df2b95eabb6e73787eae11
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-08-28 16:33:46 -07:00
Shawn O. Pearce e6e878205f Denote a symbolic link in side-by-side viewer
When code reviewing a symbolic link it is hard to tell from a regular
file that just happens to have the same content.  Make the symbolic
link more obvious by showing "File Type: Symbolic Link" at the top of
a symbolic link content.

Bug: issue 622
Change-Id: I4cfbae0523e05320773938e8dc871eb8bf592977
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-08-28 15:58:38 -07:00
Shawn O. Pearce f855f399f8 Fix all of our pom.xml versions to be 2.1-SNAPSHOT
I meant to keep reusing the 2.1 version number for the entire
2.1 series during development, but botched it during the 2.1.4
development cycle and set it to 2.1.4-SNAPSHOT by mistake.  Put
it back to 2.1-SNAPSHOT since 2.1.4 is released.

Change-Id: I37e206c0609bf3fd94a5aab8ea301c98b7fb013e
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-08-12 16:24:43 -07:00
Martin Fick 3f8385ba1e Add ability to deactivate a user when they leave the project.
Add a inactive column to the Account object.  Use the inactive
status to disable the user's web and ssh logins, sending
emails to the user on behalf of gerrit, adding the user as a
reviewer or to a group, and making the user appear in the
"add reviewer" and group "add member" auto completion boxes.

Bug: issue 503
Change-Id: Ib002788ebf8204dfea608d9f5ac3a5cdff20f817
2010-08-12 09:31:45 -06:00
Shawn O. Pearce 8cf60e91dc Merge changes If17a036b,Ied3e6e63,Ief1f6fae,Ibc6e8156,I10278b91
* changes:
  Merge branch 'stable'
  Update 2.1.4 release notes
  Don't escape ':' as %253A in query anchors
  Direct default links to queries
  Update to JGit 0.8.4.89-ge2f5716
2010-08-06 12:28:49 -07:00
Shawn O. Pearce af5814131f Merge branch 'stable'
* stable:
  Update 2.1.4 release notes
  Don't escape ':' as %253A in query anchors
  Direct default links to queries
  Update to JGit 0.8.4.89-ge2f5716

Conflicts:
	pom.xml

Change-Id: If17a036b72c512c4861c9ca66b18ae72af4a9377
2010-08-06 12:13:25 -07:00
Shawn O. Pearce ae59d1bf23 Direct default links to queries
When we started using change queries to implement the default links
I forgot to actually update the menus and keyboard bindings.  They
kept using the old anchors and were relying on Dispatcher to rewrite
them to the new change query format.

Move them all over to use the change query anchor instead.

Change-Id: Ibc6e81560d0fc0b6db124e888c81619be49df936
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-08-06 11:50:51 -07:00
Anatol Pomazau 3200245774 Implement 'Restore Change' feature.
Now it is possible to restore status of abandoned changes to 'NEW'.
It helps in a situation when a change has been abandoned accidently.

Bug: issue 312
Change-Id: Iba61dcf82a9b5ee5b78cd529b041f92a042a9611
2010-08-05 16:14:31 -07:00
monica.dionisio 3f63044c4e Config download methods
Allow download methods configuration in gerrit.config.  It was
included a section [download] in gerrit.config file to set the
scheme to be used in downloads.

This configuration hide or show ssh/http/anonymous git/anonymous
http and repo download tabs in change screen.

Bug: issue 583
Change-Id: I157135c6793771fc7b9e22bef5bae1a7d3b1da35
2010-08-04 15:49:47 -07:00
Shawn O. Pearce be87306f33 Fix project links to be query links
Instead of using the older "#project,merged,name" anchor for a
project link and rewriting it in the dispatcher, use the search
query link directly.

Change-Id: I27c3cfe54bbb35f5b6197fd504a22a53c21adf4b
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-07-26 12:29:08 -07:00
Sasa Zivkov 8e33d76853 Refactoring AccountDiffPreference vs PatchScriptSettings+PrettySettings
There was some code duplication in these classes. This refactoring
removes the PatchScriptSettings and PrettySettings classes and uses
AccountDiffPreference instead.

Issue: bug 629
Change-Id: I57ab1522b0023503d0cbd29620236ea68b7717ed
Signed-off-by: Sasa Zivkov <zivkov@gmail.com>
2010-07-21 09:53:09 -07:00
Shawn O. Pearce 0f42fc05a4 Allow watching specific branches or any other search query
Any valid search string is now a valid filter expression or a
watched project.  The only operator not supported here is the
is:watched operator, because that creates a recursive call that
would never succeed.

The change turned out far bigger than it should be due to the request
scope requirement for the query builder.  We had to rearrange a lot
of code to ensure we always have the request scope available in order
to construct a query builder and execute the filter expressions.

Bug: issue 492
Change-Id: I199d9b215e000c049279cd8e86e7a36386fee0fb
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-07-19 16:33:02 -07:00
Shawn O. Pearce 51d008d693 Implement full query operators
All of the change list pages have been rewritten in terms of the
new query operator implementation.  If the query exactly matches
a particular navigation call, we use the same underlying function
to scan the database, which gives us about the same performance.

Rather than showing custom page titles, all of the change list pages
update the search bar and show the underlying query.  This helps
users to learn what search operators Gerrit supports internally.

If the query has additional filter restrictions, we try to pick a
reasonable scan function to read from the database, but then use
filters inside of the JVM to whack out rows that do not match.
The scan function selection is based on a hand-coded cost based
query rewriter, which is really more of a rule based optimizer than
it is a cost based optimizer.  Its rather horrible at picking a good
"query plan", but its good enough given the limitations of the gwtorm
access API that we can still do something reasonable for the user.

Because the query graph is stored in memory as a proper graph,
we may be able to later perform some optimization work where we
transform the graph into a proper SQL SELECT statement and hand
it off to the database server for execution.  For most SQL systems
this would outperform what we do now.

Because the query rewriter edits the query, it may produce an invalid
result sometimes.  Any old hand-coded search is correct, because the
rewriter just transforms to the same underlying function that we used
to have.  More complex filters may still uncover bugs in the rewiter.

Some queries are simply not executable.  For example, "is:reviewed"
won't execute, because we don't have a way to scan the database
along that dimension.  The access method doesn't exist simply
because the result set would be too large to reasonably process.

The set of operators is still not complete.  We should support
things like 'age:3d' to mean changes that were last modified more
than 3 days ago, but we don't yet.  Doing so efficiently probably
requires converting the age specification into a sortKey and using
an existing scan operation along that column.

Queries once parsed into a predicate tree can be tested against a
single ChangeData object, to consider just that one change.  This
will later be useful for more powerful project watch specifications,
or access control rules.

Bug: issue 259
Bug: issue 287
Bug: issue 239
Bug: issue 504
Change-Id: Ifdf7306bb362484c58df5785054fd9e43363aaa9
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-07-17 20:24:51 -07:00
Shawn O. Pearce d50c94e759 Support topic branch tags on changes
The topic tag can be attached to a change during upload by suffixing
the 'refs/for/branch_name' with the topic label, treating the branch
as though it were a directory.

For example, to tag 'exp/nosql' onto a change headed for the
'sandbox/future-stuff' branch, git push can be used as:

  git push URL HEAD:refs/for/sandbox/future-stuff/exp-nosql

If the topic is supplied, it is displayed in the branch column of
a change, in parens.  If no topic was set, only the branch is shown.

Bug: issue 51
Change-Id: I07d6c137fc9aefa8c1ee1652bf1e7bcde9d33674
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-07-15 13:04:38 -07:00
Shawn O. Pearce c25b07b89c Shift around username/password editing
The username is now made more visible on the register screen,
encouraging the user to create a new username before they set
an SSH public key on their account.

Username and password were removed from most tabs and put into their
own HTTP Password tab, just below the SSH Public Keys.  We also now
have a clear password button, to permit erasing a password that was
assigned and isn't actually needed by the user.

The username can only be set once per account now, and once set is
not permitted to be changed.  This change simplifies our UI, but it
also sets the stage for supporting ${user} variables in access rules
for references, and renaming an account once it has branches owned by
it would complicate the account rename process.

Change-Id: I2c0f26bb4501b88faa451105dd3d74e3830e632c
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-07-15 01:06:03 -07:00
Shawn O. Pearce 270c5941d4 Move project and settings tabs to left side
Instead of using a GWT TabPanel to show the project and settings tabs,
move them onto the left as part of a vertically stacked menu.  This
just looks cleaner, and helps us to avoid ultra wide windows in the
settings area as the number of tabs keeps increasing.

While we are doing the UI refactoring, make each section proper top
level screen objects.  This makes it far easier to ensure the data is
loaded in the background before the UI gets displayed, which removes
some of the display jitter you see as you navigate to a section.

This also nicely fixes some table UI layout glitches that were caused
by the TabPanel forcing our content width to 100% even though we
didn't want that.

Change-Id: I5da0dadddc2746206852a0873d6014051bd9f6dc
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-07-15 01:06:03 -07:00
Sasa Zivkov 077b2c5dd0 Persisting users diff formatting preferences
When a user changes diff formatting preferences and clicks the
Update button the preferences will then be persisted in the database.
This way a user doesn't have to adjust the diff formatting
preferences each time it switches to the next file diff.

Bug: issue 579
Change-Id: I52cd1dcf702ed04046b236228f994fb9042243d9
Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com>
2010-07-13 16:48:19 -07:00
Edwin Kempin 33cc5a9053 Filter the list of open changes by watched projects
Users are normally not interested in all projects
that are hosted in Gerrit, but only in some of
them. If a user is interested in a project he
normally adds this project to the watch list, so
that he can get e-mail notification if something
changes. This change provides a new screen in
Gerrit that shows all open changes for only
watched projects. For the user this means to have
one list that shows all open changes that are
relevant for him and that he potentially wants to
review. The new screen is available under
'My -> Watched Changes'.

Change-Id: I8814d9ce106fdf7ef4312ae7ec3ba670f6678dd2
Signed-off-by: Edwin Kempin <edwin.kempin@gmail.com>
2010-06-25 15:19:17 -07:00
Shawn O. Pearce faee655254 Start 2.1.4 development
Change-Id: I71719c85b0d50707333517b8ef956853b04efa14
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-06-21 17:41:54 -07:00
Shawn O. Pearce f51d48c111 gerrit 2.1.3
Change-Id: I93386d5b71e8361219c03d95ab7476dc46e7d6b0
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-06-21 14:40:34 -07:00
Goran Lungberg 56f76b2bd0 Visualize in which revisions a merged change is included
Introduced a new "Included in" panel on merged changes. The panel
will produce sorted lists all branches and tags which contains the
merged change.

Provides a simple way for users to determine in which revisions of
the project the change is included.

Change-Id: If94b2604607f53a2e45330b56d55cc5de8288054
2010-06-15 18:26:56 -07:00
Martin Fick 6858e2d84f Add option to make approved patches be auto-submitted
Add a "Publish & Submit" button to the web review screen.  This
button performs the actions that the "Publish Comments" button
performs while additionally submitting the patch for merging.

Bug: issue 391
Change-Id: If9f3415be1378e9303afe34486dce557a926dc71
2010-06-15 10:47:40 -07:00
Shawn O. Pearce e248844192 Make project metadata visible to anonymous users
Since we now permit showing the metadata about a project in a
non-editable format to non-owners of that project, lets finish
opening up the UI and permit anonymous users to also see the
metadata if they can see the project.

Change-Id: I7ed0620579f9778686242acdba28e225300bad00
Signed-off-by: Shawn O. Pearce <sop@google.com>
2010-05-27 15:58:36 -07:00