<commit_before>package hudson.plugins.git.util;

import hudson.Extension;
import hudson.EnvVars;
import hudson.model.TaskListener;
import hudson.plugins.git.*;
import hudson.remoting.VirtualChannel;
import org.eclipse.jgit.lib.Repository;
import org.jenkinsci.plugins.gitclient.GitClient;
import org.jenkinsci.plugins.gitclient.RepositoryCallback;
import org.kohsuke.stapler.DataBoundConstructor;

import java.io.IOException;
import java.util.*;

/**
 * Git build chooser which will select all branches <b>except</b> for those which match the
 * configured branch specifiers.
 * <p>
 * e.g. If <tt>&#x2a;&#x2a;/master</tt> and <tt>&#x2a;&#x2a;/release-&#x2a;</tt> are configured as
 * "Branches to build" then any branches matching those patterns <b>will not</b> be built, unless
 * another branch points to the same revision.
 * <p>
 * This is useful, for example, when you have jobs building your <tt>master</tt> and various
 * <tt>release</tt> branches and you want a second job which builds all new feature branches &mdash;
 * i.e. branches which do not match these patterns &mdash; without redundantly building
 * <tt>master</tt> and the release branches again each time they change.
 *
 * @author <NAME>
 */
public class InverseBuildChooser extends BuildChooser {<commit_msg>Replace <tt> by <code> to fix javadoc failure on Java 11<commit_after>package hudson.plugins.git.util;

import hudson.Extension;
import hudson.EnvVars;
import hudson.model.TaskListener;
import hudson.plugins.git.*;
import hudson.remoting.VirtualChannel;
import org.eclipse.jgit.lib.Repository;
import org.jenkinsci.plugins.gitclient.GitClient;
import org.jenkinsci.plugins.gitclient.RepositoryCallback;
import org.kohsuke.stapler.DataBoundConstructor;

import java.io.IOException;
import java.util.*;

/**
 * Git build chooser which will select all branches <b>except</b> for those which match the
 * configured branch specifiers.
 * <p>
 * e.g. If <code>&#x2a;&#x2a;/master</code> and <code>&#x2a;&#x2a;/release-&#x2a;</code> are configured as
 * "Branches to build" then any branches matching those patterns <b>will not</b> be built, unless
 * another branch points to the same revision.
 * <p>
 * This is useful, for example, when you have jobs building your <code>master</code> and various
 * <code>release</code> branches and you want a second job which builds all new feature branches &mdash;
 * i.e. branches which do not match these patterns &mdash; without redundantly building
 * <code>master</code> and the release branches again each time they change.
 *
 * @author <NAME>
 */
public class InverseBuildChooser extends BuildChooser {
{'fraction_non_alphanumeric': 0.11047619047619048, 'fraction_numerical': 0.004571428571428572, 'mean_word_length': 5.036781609195402, 'pattern_counts': {'":': 0, '<': 39, '<?xml version=': 0, '>': 39, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5106250', 'n_tokens_mistral': 812, 'n_tokens_neox': 779, 'n_words': 270}