mirror of
https://github.com/jlengrand/github-api.git
synced 2026-03-23 00:11:24 +00:00
Merge branch 'master' into label-description
This commit is contained in:
@@ -34,7 +34,9 @@ import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.InterruptedIOException;
|
||||
import java.io.Reader;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.AbstractSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -51,6 +53,8 @@ import java.util.TreeMap;
|
||||
import java.util.WeakHashMap;
|
||||
|
||||
import static java.util.Arrays.*;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import static org.kohsuke.github.Previews.*;
|
||||
|
||||
/**
|
||||
@@ -631,6 +635,29 @@ public class GHRepository extends GHObject {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Will archive and this repository as read-only. When a repository is archived, any operation
|
||||
* that can change its state is forbidden. This applies symmetrically if trying to unarchive it.
|
||||
*
|
||||
* <p>When you try to do any operation that modifies a read-only repository, it returns the
|
||||
* response:
|
||||
*
|
||||
* <pre>
|
||||
* org.kohsuke.github.HttpException: {
|
||||
* "message":"Repository was archived so is read-only.",
|
||||
* "documentation_url":"https://developer.github.com/v3/repos/#edit"
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @throws IOException In case of any networking error or error from the server.
|
||||
*/
|
||||
public void archive() throws IOException {
|
||||
edit("archived", "true");
|
||||
// Generall would not update this record,
|
||||
// but do so here since this will result in any other update actions failing
|
||||
archived = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort orders for listing forks
|
||||
*/
|
||||
@@ -1049,12 +1076,10 @@ public class GHRepository extends GHObject {
|
||||
/**
|
||||
* Gets the basic license details for the repository.
|
||||
* <p>
|
||||
* This is a preview item and subject to change.
|
||||
*
|
||||
* @throws IOException as usual but also if you don't use the preview connector
|
||||
* @return null if there's no license.
|
||||
*/
|
||||
@Preview @Deprecated
|
||||
public GHLicense getLicense() throws IOException{
|
||||
GHContentWithLicense lic = getLicenseContent_();
|
||||
return lic!=null ? lic.license : null;
|
||||
@@ -1063,21 +1088,17 @@ public class GHRepository extends GHObject {
|
||||
/**
|
||||
* Retrieves the contents of the repository's license file - makes an additional API call
|
||||
* <p>
|
||||
* This is a preview item and subject to change.
|
||||
*
|
||||
* @return details regarding the license contents, or null if there's no license.
|
||||
* @throws IOException as usual but also if you don't use the preview connector
|
||||
*/
|
||||
@Preview @Deprecated
|
||||
public GHContent getLicenseContent() throws IOException {
|
||||
return getLicenseContent_();
|
||||
}
|
||||
|
||||
@Preview @Deprecated
|
||||
private GHContentWithLicense getLicenseContent_() throws IOException {
|
||||
try {
|
||||
return root.retrieve()
|
||||
.withPreview(DRAX)
|
||||
.to(getApiTailUrl("license"), GHContentWithLicense.class).wrap(this);
|
||||
} catch (FileNotFoundException e) {
|
||||
return null;
|
||||
@@ -1381,8 +1402,25 @@ public class GHRepository extends GHObject {
|
||||
return r;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace special characters (e.g. #) with standard values (e.g. %23) so
|
||||
* GitHub understands what is being requested.
|
||||
* @param The string to be encoded.
|
||||
* @return The encoded string.
|
||||
*/
|
||||
private String UrlEncode(String value) {
|
||||
try {
|
||||
return URLEncoder.encode(value, org.apache.commons.codec.CharEncoding.UTF_8);
|
||||
} catch (UnsupportedEncodingException ex) {
|
||||
Logger.getLogger(GHRepository.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
|
||||
// Something went wrong - just return original value as is.
|
||||
return value;
|
||||
}
|
||||
|
||||
public GHBranch getBranch(String name) throws IOException {
|
||||
return root.retrieve().to(getApiTailUrl("branches/"+name),GHBranch.class).wrap(this);
|
||||
return root.retrieve().to(getApiTailUrl("branches/"+UrlEncode(name)),GHBranch.class).wrap(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user