###############################################################################
# Copyright (c) 2011 Research Group for Industrial Software (INSO), Vienna University of Technology
# 
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0
# 
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#      Research Group for Industrial Software (INSO, Vienna University of Technology) - initial API and implementation
###############################################################################
Bundle-Vendor = Eclipse Mylyn
Bundle-Name = Mylyn Git Connector
